[BACKEND] uploader variables (#238)
This commit is contained in:
parent
3ace86435d
commit
46c14bd842
5 changed files with 150 additions and 0 deletions
|
|
@ -12,6 +12,9 @@ from yt_dlp.utils import sanitize_filename
|
|||
|
||||
from ytdl_sub.entries.variables.kwargs import DESCRIPTION
|
||||
from ytdl_sub.entries.variables.kwargs import TITLE
|
||||
from ytdl_sub.entries.variables.kwargs import UPLOADER
|
||||
from ytdl_sub.entries.variables.kwargs import UPLOADER_ID
|
||||
from ytdl_sub.entries.variables.kwargs import UPLOADER_URL
|
||||
from ytdl_sub.entries.variables.kwargs import WEBPAGE_URL
|
||||
|
||||
# pylint: disable=no-member
|
||||
|
|
@ -96,6 +99,36 @@ class BaseEntryVariables:
|
|||
"""
|
||||
return self.kwargs_get(DESCRIPTION, "")
|
||||
|
||||
@property
|
||||
def uploader_id(self: "BaseEntry") -> str:
|
||||
"""
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
The uploader id if it exists, otherwise return the unique ID.
|
||||
"""
|
||||
return self.kwargs_get(UPLOADER_ID, self.uid)
|
||||
|
||||
@property
|
||||
def uploader(self: "BaseEntry") -> str:
|
||||
"""
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
The uploader if it exists, otherwise return the uploader ID.
|
||||
"""
|
||||
return self.kwargs_get(UPLOADER, self.uploader_id)
|
||||
|
||||
@property
|
||||
def uploader_url(self: "BaseEntry") -> str:
|
||||
"""
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
The uploader url if it exists, otherwise returns the webpage_url.
|
||||
"""
|
||||
return self.kwargs_get(UPLOADER_URL, self.webpage_url)
|
||||
|
||||
|
||||
# pylint: enable=no-member
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,9 @@ from ytdl_sub.entries.variables.kwargs import PLAYLIST_MAX_UPLOAD_YEAR
|
|||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_MAX_UPLOAD_YEAR_TRUNCATED
|
||||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_TITLE
|
||||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_UID
|
||||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_UPLOADER
|
||||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_UPLOADER_ID
|
||||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_UPLOADER_URL
|
||||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_WEBPAGE_URL
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_COUNT
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_DESCRIPTION
|
||||
|
|
@ -24,6 +27,9 @@ from ytdl_sub.entries.variables.kwargs import SOURCE_ENTRY
|
|||
from ytdl_sub.entries.variables.kwargs import SOURCE_INDEX
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_TITLE
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_UID
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_UPLOADER
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_UPLOADER_ID
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_UPLOADER_URL
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_WEBPAGE_URL
|
||||
|
||||
|
||||
|
|
@ -77,6 +83,9 @@ class EntryParent(BaseEntry):
|
|||
_(SOURCE_WEBPAGE_URL, PLAYLIST_WEBPAGE_URL): self.webpage_url,
|
||||
_(SOURCE_UID, PLAYLIST_UID): self.uid,
|
||||
_(SOURCE_DESCRIPTION, PLAYLIST_DESCRIPTION): self.description,
|
||||
_(SOURCE_UPLOADER, PLAYLIST_UPLOADER): self.uploader,
|
||||
_(SOURCE_UPLOADER_ID, PLAYLIST_UPLOADER_ID): self.uploader_id,
|
||||
_(SOURCE_UPLOADER_URL, PLAYLIST_UPLOADER_URL): self.uploader_url,
|
||||
}
|
||||
|
||||
def _get_entry_children_variable_list(self, variable_name: str) -> List[str | int]:
|
||||
|
|
|
|||
|
|
@ -11,11 +11,19 @@ from ytdl_sub.entries.variables.kwargs import PLAYLIST_INDEX
|
|||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_MAX_UPLOAD_YEAR
|
||||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_MAX_UPLOAD_YEAR_TRUNCATED
|
||||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_TITLE
|
||||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_UID
|
||||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_UPLOADER
|
||||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_UPLOADER_ID
|
||||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_UPLOADER_URL
|
||||
from ytdl_sub.entries.variables.kwargs import PLAYLIST_WEBPAGE_URL
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_COUNT
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_DESCRIPTION
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_INDEX
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_TITLE
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_UID
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_UPLOADER
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_UPLOADER_ID
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_UPLOADER_URL
|
||||
from ytdl_sub.entries.variables.kwargs import SOURCE_WEBPAGE_URL
|
||||
|
||||
# This file contains mixins to a BaseEntry subclass. Ignore pylint's "no kwargs member" suggestion
|
||||
|
|
@ -54,6 +62,16 @@ class EntryVariables(BaseEntryVariables):
|
|||
"""
|
||||
return sanitize_filename(self.source_title)
|
||||
|
||||
@property
|
||||
def source_uid(self: Self) -> str:
|
||||
"""
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
The source unique id if it exists, otherwise returns the playlist unique ID.
|
||||
"""
|
||||
return self.kwargs_get(SOURCE_UID, self.playlist_uid)
|
||||
|
||||
@property
|
||||
def source_index(self: Self) -> int:
|
||||
"""
|
||||
|
|
@ -107,6 +125,16 @@ class EntryVariables(BaseEntryVariables):
|
|||
"""
|
||||
return self.kwargs_get(SOURCE_DESCRIPTION, self.playlist_description)
|
||||
|
||||
@property
|
||||
def playlist_uid(self: Self) -> str:
|
||||
"""
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
The playlist unique ID if it exists, otherwise return the entry unique ID.
|
||||
"""
|
||||
return self.kwargs_get(PLAYLIST_UID, self.uid)
|
||||
|
||||
@property
|
||||
def playlist_title(self: Self) -> str:
|
||||
"""
|
||||
|
|
@ -204,6 +232,66 @@ class EntryVariables(BaseEntryVariables):
|
|||
"""
|
||||
return self.kwargs_get(PLAYLIST_MAX_UPLOAD_YEAR_TRUNCATED, self.upload_year_truncated)
|
||||
|
||||
@property
|
||||
def playlist_uploader_id(self: Self) -> str:
|
||||
"""
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
The playlist uploader id if it exists, otherwise returns the playlist unique ID.
|
||||
"""
|
||||
return self.kwargs_get(PLAYLIST_UPLOADER_ID, self.playlist_uid)
|
||||
|
||||
@property
|
||||
def playlist_uploader(self: Self) -> str:
|
||||
"""
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
The playlist uploader if it exists, otherwise return the playlist uploader ID.
|
||||
"""
|
||||
return self.kwargs_get(PLAYLIST_UPLOADER, self.playlist_uploader_id)
|
||||
|
||||
@property
|
||||
def playlist_uploader_url(self: Self) -> str:
|
||||
"""
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
The playlist uploader url if it exists, otherwise returns the playlist webpage_url.
|
||||
"""
|
||||
return self.kwargs_get(PLAYLIST_UPLOADER_URL, self.playlist_webpage_url)
|
||||
|
||||
@property
|
||||
def source_uploader_id(self: Self) -> str:
|
||||
"""
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
The source uploader id if it exists, otherwise returns the source unique ID.
|
||||
"""
|
||||
return self.kwargs_get(SOURCE_UPLOADER_ID, self.source_uid)
|
||||
|
||||
@property
|
||||
def source_uploader(self: Self) -> str:
|
||||
"""
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
The source uploader if it exists, otherwise return the source uploader ID.
|
||||
"""
|
||||
return self.kwargs_get(SOURCE_UPLOADER, self.source_uploader_id)
|
||||
|
||||
@property
|
||||
def source_uploader_url(self: Self) -> str:
|
||||
"""
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
The source uploader url if it exists, otherwise returns the source webpage_url.
|
||||
"""
|
||||
return self.kwargs_get(SOURCE_UPLOADER_URL, self.source_webpage_url)
|
||||
|
||||
@property
|
||||
def ext(self: Self) -> str:
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -23,6 +23,9 @@ SOURCE_TITLE = _("source_title")
|
|||
SOURCE_UID = _("source_uid")
|
||||
SOURCE_DESCRIPTION = _("source_description")
|
||||
SOURCE_WEBPAGE_URL = _("source_webpage_url")
|
||||
SOURCE_UPLOADER = _("source_uploader")
|
||||
SOURCE_UPLOADER_ID = _("source_uploader_id")
|
||||
SOURCE_UPLOADER_URL = _("source_uploader_url")
|
||||
|
||||
PLAYLIST_ENTRY = _("playlist_entry", backend=True)
|
||||
PLAYLIST_WEBPAGE_URL = _("playlist_webpage_url")
|
||||
|
|
@ -33,8 +36,14 @@ PLAYLIST_MAX_UPLOAD_YEAR_TRUNCATED = _("playlist_max_upload_year_truncated")
|
|||
PLAYLIST_TITLE = _("playlist_title")
|
||||
PLAYLIST_DESCRIPTION = _("playlist_description")
|
||||
PLAYLIST_UID = _("playlist_uid")
|
||||
PLAYLIST_UPLOADER = _("playlist_uploader")
|
||||
PLAYLIST_UPLOADER_ID = _("playlist_uploader_id")
|
||||
PLAYLIST_UPLOADER_URL = _("playlist_uploader_url")
|
||||
|
||||
EXT = _("ext")
|
||||
TITLE = _("title")
|
||||
DESCRIPTION = _("description")
|
||||
WEBPAGE_URL = _("webpage_url")
|
||||
UPLOADER = _("uploader")
|
||||
UPLOADER_ID = _("uploader_id")
|
||||
UPLOADER_URL = _("uploader_url")
|
||||
|
|
|
|||
|
|
@ -66,6 +66,9 @@ def mock_entry_to_dict(
|
|||
"ext": ext,
|
||||
"description": "",
|
||||
"extractor": extractor,
|
||||
"uploader": "abc123",
|
||||
"uploader_id": "abc123",
|
||||
"uploader_url": "https://yourname.here",
|
||||
"upload_date": upload_date,
|
||||
"upload_date_standardized": "2021-01-12",
|
||||
"upload_year": 2021,
|
||||
|
|
@ -95,6 +98,10 @@ def mock_entry_to_dict(
|
|||
"playlist_title_sanitized": "entry {title}",
|
||||
"playlist_description": "",
|
||||
"playlist_webpage_url": "https://yourname.here",
|
||||
"playlist_uid": "abc123",
|
||||
"playlist_uploader": "abc123",
|
||||
"playlist_uploader_id": "abc123",
|
||||
"playlist_uploader_url": "https://yourname.here",
|
||||
"source_count": 1,
|
||||
"source_description": "",
|
||||
"source_index": 1,
|
||||
|
|
@ -102,6 +109,10 @@ def mock_entry_to_dict(
|
|||
"source_title": "entry {title}",
|
||||
"source_title_sanitized": "entry {title}",
|
||||
"source_webpage_url": "https://yourname.here",
|
||||
"source_uid": "abc123",
|
||||
"source_uploader": "abc123",
|
||||
"source_uploader_id": "abc123",
|
||||
"source_uploader_url": "https://yourname.here",
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue