import copy
import json
import os.path
default_json_file = os.path.abspath('default.json')
last_state_file = os.path.abspath('laststate.json')
default_json = {}
active_json = {}
def reload_json():
global default_json
global active_json
default_json = json.load(open(default_json_file, encoding='utf-8'))
if os.path.exists(last_state_file):
with open(last_state_file, encoding='utf-8') as f:
active_json = json.load(f)
if os.path.getmtime(last_state_file) \
< os.path.getmtime(default_json_file):
backup = copy.deepcopy(active_json)
active_json.update(default_json)
active_json['state']['open'] = backup['state']['open']
active_json['state']['lastchange'] = backup['state']['lastchange']
else:
active_json = copy.deepcopy(default_json)
reload_json()
def save_last_state():
with open(last_state_file, mode='w', encoding='utf-8') as f:
json.dump(active_json, f, sort_keys=True)