mpvremote/mpvremote/config.py

48 lines
1.2 KiB
Python

import os
from pathlib import Path
SOCKET = "/tmp/mpv-socket"
DEFAULT_MEDIA_DIR = os.path.expanduser("~/Videos")
MEDIA_DIR_FILE = Path.home() / ".config" / "mpvremotemedia"
def _load_media_dir():
try:
configured_dir = MEDIA_DIR_FILE.read_text(encoding="utf-8").strip()
except (OSError, UnicodeError):
configured_dir = ""
return os.path.expanduser(configured_dir or DEFAULT_MEDIA_DIR)
def set_media_dir(path):
"""Persist and activate the configured media directory."""
path = path.strip()
if not path:
raise ValueError("Media directory cannot be empty")
MEDIA_DIR_FILE.parent.mkdir(parents=True, exist_ok=True)
MEDIA_DIR_FILE.write_text(path + "\n", encoding="utf-8")
global MEDIA_DIR
MEDIA_DIR = os.path.expanduser(path)
MEDIA_DIR = _load_media_dir()
VIDEO_EXTS = ["mp4", "mkv", "avi", "webm"]
# Key codes
KEY_PAUSE = ord(' ')
KEY_SEEK_BACK = ord('h')
KEY_SEEK_FWD = ord('l')
KEY_VOL_UP = ord('k')
KEY_VOL_DOWN = ord('j')
KEY_SUB = ord('s')
KEY_NEXT = ord('n')
KEY_PREV = ord('p')
KEY_LOOP_FILE = ord('r')
KEY_LOOP_PLIST = ord('R')
KEY_CONTROLS = ord('c')
KEY_QUEUE = ord('o')
KEY_PLAYLIST = ord('e')
KEY_QUIT = ord('q')
KEY_DELETE_PLAYLIST = ord('d')
KEY_SETTINGS = ord('x')