OpenRewind/openrewind/config.py
2024-08-10 17:38:57 +08:00

55 lines
1.4 KiB
Python

import os
import sys
import argparse
parser = argparse.ArgumentParser(
description="OpenRecall"
)
parser.add_argument(
"--storage-path",
default=None,
help="Path to store the screenshots and database",
)
parser.add_argument(
"--primary-monitor-only",
action="store_true",
help="Only record the primary monitor",
default=False,
)
args = parser.parse_args()
def get_appdata_folder(app_name="openrecall"):
if sys.platform == "win32":
appdata = os.getenv("APPDATA")
if not appdata:
raise EnvironmentError("APPDATA environment variable is not set.")
path = os.path.join(appdata, app_name)
elif sys.platform == "darwin":
home = os.path.expanduser("~")
path = os.path.join(home, "Library", "Application Support", app_name)
else:
home = os.path.expanduser("~")
path = os.path.join(home, ".local", "share", app_name)
if not os.path.exists(path):
os.makedirs(path)
return path
if args.storage_path:
appdata_folder = args.storage_path
screenshots_path = os.path.join(appdata_folder, "screenshots")
db_path = os.path.join(appdata_folder, "recall.db")
else:
appdata_folder = get_appdata_folder()
db_path = os.path.join(appdata_folder, "recall.db")
screenshots_path = os.path.join(appdata_folder, "screenshots")
if not os.path.exists(screenshots_path):
try:
os.makedirs(screenshots_path)
except:
pass