Files
vrobbler/vrobbler/apps/scrobbles/constants.py
Colin Powell 7f3076608f
Some checks failed
build / test (push) Has been cancelled
[scrobbles] Add sharing of scrobbles
2026-06-09 12:33:25 -04:00

88 lines
2.2 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",
}
# 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 = {
"videogames": "VideoGame",
"books": "Book",
"boardgames": "BoardGame",
"moods": "Mood",
"bricksets": "BrickSet",
"trails": "Trail",
"beers": "Beer",
"foods": "Food",
"locations": "GeoLocation",
"videos": "Video",
"birds": "BirdingLocation",
}
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="],
"-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",
}
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