from ..constants import APP_DATA_DIR, DEFAULTS_DIR, PLATFORM, USER_VIDEOS_DIR from ..utils import detect # GeneralConfig GENERAL_PYGMENT_STYLE = "github-dark" GENERAL_PREFERRED_SPINNER = "smiley" GENERAL_API_CLIENT = "anilist" GENERAL_PREFERRED_TRACKER = "local" GENERAL_DESKTOP_NOTIFICATION_DURATION = 5 * 60 GENERAL_PROVIDER = "allanime" def GENERAL_SELECTOR(): return "fzf" if detect.has_fzf() else "default" GENERAL_AUTO_SELECT_ANIME_RESULT = True GENERAL_ICONS = True def GENERAL_PREVIEW(): return "full" if detect.is_running_kitty_terminal() else "none" GENERAL_SCALE_PREVIEW = True GENERAL_SCALE_PREVIEW = False def GENERAL_IMAGE_RENDERER(): return "icat" if detect.is_running_kitty_terminal() else "chafa" GENERAL_MANGA_VIEWER = "feh" GENERAL_CHECK_FOR_UPDATES = True GENERAL_UPDATE_CHECK_INTERVAL = 12 GENERAL_CACHE_REQUESTS = True GENERAL_MAX_CACHE_LIFETIME = "03:00:00" GENERAL_NORMALIZE_TITLES = True GENERAL_DISCORD = False GENERAL_RECENT = 50 # StreamConfig STREAM_PLAYER = "mpv" STREAM_QUALITY = "1080" STREAM_TRANSLATION_TYPE = "sub" STREAM_SERVER = "TOP" STREAM_AUTO_NEXT = False STREAM_CONTINUE_FROM_WATCH_HISTORY = True STREAM_PREFERRED_WATCH_HISTORY = "local" STREAM_AUTO_SKIP = False STREAM_EPISODE_COMPLETE_AT = 80 STREAM_YTDLP_FORMAT = "best[height<=1080]/bestvideo[height<=1080]+bestaudio/best" STREAM_FORCE_FORWARD_TRACKING = True STREAM_DEFAULT_MEDIA_LIST_TRACKING = "prompt" STREAM_SUB_LANG = "eng" def STREAM_USE_IPC(): return True if PLATFORM != "win32" and not detect.is_running_in_termux() else False # WorkerConfig WORKER_ENABLED = True WORKER_NOTIFICATION_CHECK_INTERVAL = 15 # minutes WORKER_DOWNLOAD_CHECK_INTERVAL = 5 # minutes # FzfConfig FZF_OPTS = DEFAULTS_DIR / "fzf-opts" FZF_HEADER_COLOR = "95,135,175" FZF_PREVIEW_HEADER_COLOR = "215,0,95" FZF_PREVIEW_SEPARATOR_COLOR = "208,208,208" # RofiConfig _ROFI_THEMES_DIR = DEFAULTS_DIR / "rofi-themes" ROFI_THEME_MAIN = _ROFI_THEMES_DIR / "main.rasi" ROFI_THEME_INPUT = _ROFI_THEMES_DIR / "input.rasi" ROFI_THEME_CONFIRM = _ROFI_THEMES_DIR / "confirm.rasi" ROFI_THEME_PREVIEW = _ROFI_THEMES_DIR / "preview.rasi" # MpvConfig MPV_ARGS = "" MPV_PRE_ARGS = "" # VlcConfig VLC_ARGS = "" # AnilistConfig ANILIST_PER_PAGE = 15 ANILIST_SORT_BY = "SEARCH_MATCH" ANILIST_MEDIA_LIST_SORT_BY = "MEDIA_POPULARITY_DESC" ANILIST_PREFERRED_LANGUAGE = "english" # DownloadsConfig DOWNLOADS_DOWNLOADER = "auto" DOWNLOADS_DOWNLOADS_DIR = USER_VIDEOS_DIR DOWNLOADS_ENABLE_TRACKING = True DOWNLOADS_NO_CHECK_CERTIFICATE = True DOWNLOADS_MAX_CONCURRENT = 3 DOWNLOADS_RETRY_ATTEMPTS = 2 DOWNLOADS_RETRY_DELAY = 60 DOWNLOADS_MERGE_SUBTITLES = True DOWNLOADS_CLEANUP_AFTER_MERGE = True # RegistryConfig MEDIA_REGISTRY_DIR = USER_VIDEOS_DIR / ".registry" MEDIA_REGISTRY_INDEX_DIR = APP_DATA_DIR # session config SESSIONS_DIR = APP_DATA_DIR / ".sessions"