101 lines
2.6 KiB
Python
101 lines
2.6 KiB
Python
from django.db import models
|
|
from enum import Enum
|
|
|
|
JELLYFIN_VIDEO_ITEM_TYPES = ["Episode", "Movie"]
|
|
|
|
class Visibility(models.TextChoices):
|
|
PUBLIC = "public", "Public"
|
|
SHARED = "shared", "Shared"
|
|
PRIVATE = "private", "Private"
|
|
JELLYFIN_AUDIO_ITEM_TYPES = ["Audio"]
|
|
|
|
LONG_PLAY_MEDIA = {
|
|
"videogames": "VideoGame",
|
|
"books": "Book",
|
|
"bricksets": "BrickSet",
|
|
"tasks": "Task",
|
|
"papers": "Paper",
|
|
}
|
|
|
|
# Media types that should just be finished if they go over time
|
|
AUTO_FINISH_MEDIA = {
|
|
"webpages": "WebPage",
|
|
"tracks": "Track",
|
|
"videos": "Video",
|
|
"moods": "Mood",
|
|
}
|
|
|
|
PLAY_AGAIN_MEDIA = {
|
|
"videos": "Video",
|
|
"music": "Track",
|
|
"podcasts": "PodcastEpisode",
|
|
"sports": "SportEvent",
|
|
"books": "Book",
|
|
"videogames": "VideoGame",
|
|
"boardgames": "BoardGame",
|
|
"locations": "GeoLocation",
|
|
"trails": "Trail",
|
|
"beers": "Beer",
|
|
"puzzles": "Puzzle",
|
|
"foods": "Food",
|
|
"tasks": "Task",
|
|
"webpages": "WebPage",
|
|
"lifeevents": "LifeEvent",
|
|
"moods": "Mood",
|
|
"bricksets": "BrickSet",
|
|
"channels": "Channel",
|
|
"birds": "BirdingLocation",
|
|
"discgolf": "DiscGolfCourse",
|
|
}
|
|
|
|
MEDIA_END_PADDING_SECONDS = {
|
|
"Video": 3600, # 60 min
|
|
}
|
|
|
|
TODOIST_TASK_URL = "https://app.todoist.com/app/task/{id}"
|
|
|
|
SCROBBLE_CONTENT_URLS = {
|
|
"-i": ["https://www.imdb.com/title/", "https://www.youtube.com/watch?v="],
|
|
"-s": ["https://www.thesportsdb.com/event/"],
|
|
"-g": ["https://boardgamegeek.com/boardgame/"],
|
|
"-u": ["https://untappd.com/"],
|
|
"-b": ["https://www.amazon.com/"],
|
|
"-t": ["https://app.todoist.com/app/task/{id}"],
|
|
"-p": ["https://www.ipdb.plus/IPDb/puzzle.php?id="],
|
|
"-pp": ["https://doi.org/"],
|
|
"-l": ["https://brickset.com/sets/"],
|
|
"-c": ["https://readcomicsonline.ru"],
|
|
"-h": ["https://www.twitch.tv/"],
|
|
}
|
|
|
|
EXCLUDE_FROM_NOW_PLAYING = ("GeoLocation",)
|
|
|
|
MANUAL_SCROBBLE_FNS = {
|
|
"-v": "manual_scrobble_video_game",
|
|
"-b": "manual_scrobble_book",
|
|
"-s": "manual_scrobble_event",
|
|
"-i": "manual_scrobble_video",
|
|
"-g": "manual_scrobble_board_game",
|
|
"-u": "manual_scrobble_beer",
|
|
"-w": "manual_scrobble_webpage",
|
|
"-t": "manual_scrobble_task",
|
|
"-p": "manual_scrobble_puzzle",
|
|
"-l": "manual_scrobble_brickset",
|
|
"-c": "manual_scrobble_book",
|
|
"-f": "manual_scrobble_food",
|
|
"-h": "manual_scrobble_twitch_channel",
|
|
"-dg": "manual_scrobble_discgolf",
|
|
"-pp": "manual_scrobble_paper",
|
|
}
|
|
|
|
|
|
class AsTsvColumn(Enum):
|
|
ARTIST_NAME = 0
|
|
ALBUM_NAME = 1
|
|
TRACK_NAME = 2
|
|
TRACK_NUMBER = 3
|
|
RUN_TIME_SECONDS = 4
|
|
COMPLETE = 5
|
|
TIMESTAMP = 6
|
|
MB_ID = 7
|