import json

f = open('static/stats2.json')

d = json.loads(f.read())

statistics = {}

convert_name = {'dli::pbmedResolver': 'EuropePMC', 'PANGAEA': 'Pangaea',
                'OpenAIRE Resolver': 'OpenAIRE', 'DataCite Resolver': 'Datasets in DataCite',
                'Datasets in Datacite': 'Datasets in DataCite',"3TU.Datacentrum": "3TU Datacentrum", "Crossref":"CrossRef",

                
                
                'PubMed Resolver': 'PubMed'}



for item in d:
    sts = d[item]
    for elem in sts:
        if 'dli:' not in elem['datasource']:
            v = statistics.get(convert_name.get(elem['datasource'], elem['datasource']), {})
            v[item] = {'numberOfRelations': elem.get('numberOfRelations', 0),
                       'numberOfObjects': elem.get('numberOfObjects', 0)}
            statistics[convert_name.get(elem['datasource'], elem['datasource'])] = v

historyObjects = [['x']+ d.keys()]
historyLinks = [['x']+ d.keys()]
# = [['x']+[0]*len(d.keys())]

k = d.keys()
k.sort()

for it in statistics:
    c = [it]
    d = [it]


    for item in k:
        tmp = statistics[it].get(item, dict(numberOfRelations=0, numberOfObjects=0))
        c.append(str(tmp['numberOfRelations']))
        d.append(str(tmp['numberOfObjects']))
    historyObjects.append(d)
    historyLinks.append(c)


print json.dumps(historyLinks, indent=1)
print json.dumps(historyObjects, indent=1)
