import json from os.path import exists from typing import List db_filename = "db.json" def init_db(): file_exists = exists(db_filename) if not file_exists: print("Initializing json file database") with open(db_filename, "w") as db_file: db_file.write("{}") init_db() def _load_db(): with open(db_filename, "r") as db_file: db = json.loads(db_file.read()) return db def _save_db(db): with open(db_filename, "w") as db_file: db_file.write(json.dumps(db)) def get_latest_sync_time() -> int: db = _load_db() return db.get("latest_sync_time", 0) def set_latest_sync_time(le_date) -> None: db = _load_db() db["latest_sync_time"] = le_date _save_db(db) def add_discovered_file(file_url) -> List[str]: db = _load_db() discovered_files = set(db.get("discovered_files", [])) discovered_files.add(file_url) discovered_files = list(discovered_files) db["discovered_files"] = discovered_files _save_db(db) return discovered_files def get_discovered_files() -> List[str]: db = _load_db() discovered_files = set(db.get("discovered_files", [])) return discovered_files def add_valid_file(filename, metadata): db = _load_db() valid_files = db.get("valid_files", {}) valid_files[filename] = metadata db["valid_files"] = valid_files _save_db(db) return valid_files