64 lines
1.4 KiB
Python
64 lines
1.4 KiB
Python
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
|