forked from amtoaer/bili-sync
-
Notifications
You must be signed in to change notification settings - Fork 0
/
constants.py
50 lines (33 loc) · 1.12 KB
/
constants.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import os
from enum import IntEnum
from pathlib import Path
def get_base(dir_name: str) -> Path:
path = Path(base) if (base := os.getenv(f"{dir_name.upper()}_PATH")) else Path(__file__).parent / dir_name
path.mkdir(parents=True, exist_ok=True)
return path
DEFAULT_CONFIG_PATH = get_base("config") / "config.json"
DEFAULT_DATABASE_PATH = get_base("data") / "data.db"
DEFAULT_THUMB_PATH = get_base("thumb")
FFMPEG_COMMAND = "ffmpeg"
MIGRATE_COMMAND = "aerich"
class MediaType(IntEnum):
VIDEO = 2
AUDIO = 12
VIDEO_COLLECTION = 21
class MediaStatus(IntEnum):
NORMAL = 1 # 正常稿件
INVISIBLE = 2 # 不可见稿件
DELETED = 3 # 已失效视频
@property
def text(self) -> str:
return {MediaStatus.NORMAL: "normal", MediaStatus.INVISIBLE: "invisible", MediaStatus.DELETED: "deleted"}[self]
class NfoMode(IntEnum):
MOVIE = 1
TVSHOW = 2
EPISODE = 3
UPPER = 4
TORTOISE_ORM = {
"connections": {"default": f"sqlite://{DEFAULT_DATABASE_PATH}"},
"apps": {"models": {"models": ["models", "aerich.models"], "default_connection": "default"}},
"use_tz": True,
}