ees_network_drive/local_storage.py (27 lines of code) (raw):

import os import json IDS_PATH = os.path.join(os.path.dirname(__file__), 'doc_id.json') class LocalStorage: """This class contains all the methods to do operations on doc_id json file """ def __init__(self, logger): self.logger = logger def load_storage(self): """This method fetches the contents of doc_id.json(local ids storage) """ try: with open(IDS_PATH, encoding='utf-8') as ids_file: try: return json.load(ids_file) except ValueError as exception: self.logger.exception( f"Error while parsing the json file of the ids store from path: {IDS_PATH}. Error: {exception}" ) return {"global_keys": {}} except FileNotFoundError: self.logger.debug("Local storage for ids was not found.") return {"global_keys": {}} def update_storage(self, ids): """This method is used to update the ids stored in doc_id.json file :param ids: updated ids to be stored in the doc_id.json file """ with open(IDS_PATH, "w", encoding='utf-8') as ids_file: try: json.dump(ids, ids_file, indent=4) except ValueError as exception: self.logger.exception( f"Error while updating the doc_id json file. Error: {exception}" )