# -*- coding: utf-8 -*-
"""
Created on Mon Jul  5 12:27:59 2021

@author: lukas
"""
import json
import math

from decimal import Decimal

with open ('final-metadata.json','r', encoding='utf-8') as f:
    data=json.load(f)
    data=data['data']

def format_e(n):
    a = '%E' % n
    return a.split('E')[0].rstrip('0').rstrip('.') + 'E' + a.split('E')[1]

def myround(n):
    if n == 0:
        return 0
    sgn = -1 if n < 0 else 1
    scale = int(-math.floor(math.log10(abs(n))))
    if scale <= 0:
        scale = 1
    factor = 10**scale
    return sgn*math.floor(abs(n)*factor)/factor




new_data={}
for dat in data:
    title=dat['title'][0]
    title.strip()
    title.replace("\n", "")
    venue=dat['venue'][0]
    year=dat['date']['date-parts'][0][0]
    new_data.setdefault("data",[]).append({"doi": dat['doi'],"title":title, "venue":venue, "date":year, 
                                        "popularity": format_e(Decimal(dat['popularity'])), 
                                        "popularity_alt": format_e(Decimal(dat['popularity_alt'])), 
                                       "influence": format_e(Decimal(dat['influence'])), "influence_alt": format_e(Decimal(dat['influence_alt'])), "social": dat['social'] })
    
    
with open ('final_metadata_edited.json','w') as f:
        json.dump(new_data,f)
# print(new_data)