|
|
|
@ -47,7 +47,10 @@ IMAGE_EXPIRATION_DAYS = 7 # 7 days, consistent with foodie_automator_rss.py |
|
|
|
def load_json_file(file_path, expiration_hours=None, default=None): |
|
|
|
def load_json_file(file_path, expiration_hours=None, default=None): |
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
if default is None: |
|
|
|
if default is None: |
|
|
|
default = [] if "rate_limit_info" not in file_path else {} |
|
|
|
if "rate_limit_info" in file_path or "notification_tracking" in file_path: |
|
|
|
|
|
|
|
default = {} |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
default = [] |
|
|
|
|
|
|
|
|
|
|
|
if not os.path.exists(file_path): |
|
|
|
if not os.path.exists(file_path): |
|
|
|
logger.info(f"File {file_path} does not exist. Returning default: {default}") |
|
|
|
logger.info(f"File {file_path} does not exist. Returning default: {default}") |
|
|
|
@ -57,8 +60,8 @@ def load_json_file(file_path, expiration_hours=None, default=None): |
|
|
|
with open(file_path, 'r') as f: |
|
|
|
with open(file_path, 'r') as f: |
|
|
|
data = json.load(f) |
|
|
|
data = json.load(f) |
|
|
|
|
|
|
|
|
|
|
|
# Handle rate_limit_info.json differently |
|
|
|
# Handle rate_limit_info.json and notification_tracking.json as dicts |
|
|
|
if "rate_limit_info" in file_path: |
|
|
|
if "rate_limit_info" in file_path or "notification_tracking" in file_path: |
|
|
|
if not isinstance(data, dict): |
|
|
|
if not isinstance(data, dict): |
|
|
|
logger.warning(f"Data in {file_path} is not a dictionary, resetting to default") |
|
|
|
logger.warning(f"Data in {file_path} is not a dictionary, resetting to default") |
|
|
|
return default |
|
|
|
return default |
|
|
|
|