[SCRIPT] Updated
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
import os
|
||||
from ignis.options_manager import OptionsGroup, OptionsManager
|
||||
from ignis import DATA_DIR, CACHE_DIR # type: ignore
|
||||
|
||||
USER_OPTIONS_FILE = f"{DATA_DIR}/user_options.json"
|
||||
OLD_USER_OPTIONS_FILE = f"{CACHE_DIR}/user_options.json"
|
||||
|
||||
|
||||
# FIXME: remove someday
|
||||
def _migrate_old_options_file() -> None:
|
||||
with open(OLD_USER_OPTIONS_FILE) as f:
|
||||
data = f.read()
|
||||
|
||||
with open(USER_OPTIONS_FILE, "w") as f:
|
||||
f.write(data)
|
||||
|
||||
|
||||
class UserOptions(OptionsManager):
|
||||
def __init__(self):
|
||||
if not os.path.exists(USER_OPTIONS_FILE) and os.path.exists(
|
||||
OLD_USER_OPTIONS_FILE
|
||||
):
|
||||
_migrate_old_options_file()
|
||||
|
||||
try:
|
||||
super().__init__(file=USER_OPTIONS_FILE)
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
|
||||
class User(OptionsGroup):
|
||||
avatar: str = f"/var/lib/AccountsService/icons/{os.getenv('USER')}"
|
||||
|
||||
class Settings(OptionsGroup):
|
||||
last_page: int = 0
|
||||
|
||||
class Material(OptionsGroup):
|
||||
dark_mode: bool = True
|
||||
colors: dict[str, str] = {}
|
||||
|
||||
user = User()
|
||||
settings = Settings()
|
||||
material = Material()
|
||||
|
||||
|
||||
user_options = UserOptions()
|
||||
Reference in New Issue
Block a user