also playlist index reversed

This commit is contained in:
Jesse Bannon 2022-09-29 15:27:53 -07:00
parent 30f0a69650
commit 0f999cddb3
3 changed files with 39 additions and 5 deletions

View file

@ -1,4 +1,5 @@
from abc import ABC from abc import ABC
from datetime import datetime
from pathlib import Path from pathlib import Path
from typing import Any from typing import Any
from typing import Dict from typing import Dict
@ -10,7 +11,9 @@ from typing import final
from yt_dlp.utils import sanitize_filename from yt_dlp.utils import sanitize_filename
from ytdl_sub.entries.variables.kwargs import DESCRIPTION, EPOCH, EXTRACTOR from ytdl_sub.entries.variables.kwargs import DESCRIPTION
from ytdl_sub.entries.variables.kwargs import EPOCH
from ytdl_sub.entries.variables.kwargs import EXTRACTOR
from ytdl_sub.entries.variables.kwargs import TITLE from ytdl_sub.entries.variables.kwargs import TITLE
from ytdl_sub.entries.variables.kwargs import UID from ytdl_sub.entries.variables.kwargs import UID
from ytdl_sub.entries.variables.kwargs import UPLOADER from ytdl_sub.entries.variables.kwargs import UPLOADER
@ -18,8 +21,6 @@ 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 UPLOADER_URL
from ytdl_sub.entries.variables.kwargs import WEBPAGE_URL from ytdl_sub.entries.variables.kwargs import WEBPAGE_URL
from datetime import datetime
# pylint: disable=no-member # pylint: disable=no-member
@ -80,7 +81,7 @@ class BaseEntryVariables:
str str
The epoch's date, in YYYYMMDD format. The epoch's date, in YYYYMMDD format.
""" """
return datetime.utcfromtimestamp(self.epoch).strftime('%Y%m%d') return datetime.utcfromtimestamp(self.epoch).strftime("%Y%m%d")
@property @property
def epoch_hour(self: "BaseEntry") -> str: def epoch_hour(self: "BaseEntry") -> str:
@ -90,7 +91,7 @@ class BaseEntryVariables:
str str
The epoch's hour, padded The epoch's hour, padded
""" """
return datetime.utcfromtimestamp(self.epoch).strftime('%H') return datetime.utcfromtimestamp(self.epoch).strftime("%H")
@property @property
def title(self: "BaseEntry") -> str: def title(self: "BaseEntry") -> str:

View file

@ -169,6 +169,16 @@ class EntryVariables(BaseEntryVariables):
""" """
return self.kwargs_get(PLAYLIST_INDEX, 1) return self.kwargs_get(PLAYLIST_INDEX, 1)
@property
def playlist_index_reversed(self: Self) -> int:
"""
Returns
-------
int
Playlist index reversed via ``playlist_count - playlist_index + 1``
"""
return self.playlist_count - self.playlist_index + 1
@property @property
def playlist_index_padded(self: Self) -> str: def playlist_index_padded(self: Self) -> str:
""" """
@ -179,6 +189,16 @@ class EntryVariables(BaseEntryVariables):
""" """
return _pad(self.playlist_index, width=2) return _pad(self.playlist_index, width=2)
@property
def playlist_index_reversed_padded(self: Self) -> str:
"""
Returns
-------
str
playlist_index_reversed padded two digits
"""
return _pad(self.playlist_index_reversed, width=2)
@property @property
def playlist_index_padded6(self: Self) -> str: def playlist_index_padded6(self: Self) -> str:
""" """
@ -189,6 +209,16 @@ class EntryVariables(BaseEntryVariables):
""" """
return _pad(self.playlist_index, width=6) return _pad(self.playlist_index, width=6)
@property
def playlist_index_reversed_padded6(self: Self) -> str:
"""
Returns
-------
str
playlist_index_reversed padded six digits.
"""
return _pad(self.playlist_index_reversed, width=6)
@property @property
def playlist_count(self: Self) -> int: def playlist_count(self: Self) -> int:
""" """

View file

@ -98,6 +98,9 @@ def mock_entry_to_dict(
"playlist_index": 1, "playlist_index": 1,
"playlist_index_padded": "01", "playlist_index_padded": "01",
"playlist_index_padded6": "000001", "playlist_index_padded6": "000001",
"playlist_index_reversed": 1,
"playlist_index_reversed_padded": "01",
"playlist_index_reversed_padded6": "000001",
"playlist_count": 1, "playlist_count": 1,
"playlist_max_upload_year": 2021, "playlist_max_upload_year": 2021,
"playlist_max_upload_year_truncated": 21, "playlist_max_upload_year_truncated": 21,