almost there
This commit is contained in:
parent
95948bce9e
commit
40309ed358
3 changed files with 22 additions and 8 deletions
|
|
@ -448,7 +448,17 @@ class _Variables:
|
||||||
)
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def playlist_max_upload_year(self) -> MetadataVariable:
|
def playlist_max_upload_date(self) -> Variable:
|
||||||
|
"""
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
Max upload_date for all entries in this entry's playlist if it exists, otherwise returns
|
||||||
|
``upload_date``
|
||||||
|
"""
|
||||||
|
return Variable("playlist_max_upload_date")
|
||||||
|
|
||||||
|
@property
|
||||||
|
def playlist_max_upload_year(self) -> Variable:
|
||||||
"""
|
"""
|
||||||
Returns
|
Returns
|
||||||
-------
|
-------
|
||||||
|
|
@ -457,9 +467,7 @@ class _Variables:
|
||||||
``upload_year``
|
``upload_year``
|
||||||
"""
|
"""
|
||||||
# override in EntryParent
|
# override in EntryParent
|
||||||
return MetadataVariable(
|
return Variable("playlist_max_upload_year")
|
||||||
variable_name="playlist_max_upload_year", metadata_key="playlist_max_upload_year"
|
|
||||||
)
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def playlist_max_upload_year_truncated(self) -> Variable:
|
def playlist_max_upload_year_truncated(self) -> Variable:
|
||||||
|
|
|
||||||
|
|
@ -248,11 +248,11 @@ SOURCE_DERIVED_VARIABLES: Dict[Variable, str] = {
|
||||||
}
|
}
|
||||||
|
|
||||||
SIBLING_VARIABLES: Dict[Variable, str] = {
|
SIBLING_VARIABLES: Dict[Variable, str] = {
|
||||||
v.playlist_max_upload_year: f"""{{
|
v.playlist_max_upload_date: f"""{{
|
||||||
%array_reduce(
|
%array_reduce(
|
||||||
%if_passthrough(
|
%if_passthrough(
|
||||||
%extract_field_from_siblings('{v.upload_year.variable_name}'),
|
%extract_field_from_siblings('{v.upload_date.variable_name}'),
|
||||||
[{v.upload_year.variable_name}]
|
[{v.upload_date.variable_name}]
|
||||||
),
|
),
|
||||||
%max
|
%max
|
||||||
)
|
)
|
||||||
|
|
@ -260,7 +260,10 @@ SIBLING_VARIABLES: Dict[Variable, str] = {
|
||||||
}
|
}
|
||||||
|
|
||||||
SIBLING_DERIVED_VARIABLES: Dict[Variable, str] = {
|
SIBLING_DERIVED_VARIABLES: Dict[Variable, str] = {
|
||||||
v.playlist_max_upload_year_truncated: f"{{%int(%slice(%string({v.playlist_max_upload_year.variable_name}), 2))}}",
|
v.playlist_max_upload_year: date_metadata(v.playlist_max_upload_date, "year"),
|
||||||
|
v.playlist_max_upload_year_truncated: date_metadata(
|
||||||
|
v.playlist_max_upload_date, "year_truncated"
|
||||||
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
_VARIABLE_SCRIPTS: Dict[Variable, str] = {}
|
_VARIABLE_SCRIPTS: Dict[Variable, str] = {}
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,14 @@ from ytdl_sub.entries.script.variable_definitions import VARIABLES as v
|
||||||
class TestEntry(object):
|
class TestEntry(object):
|
||||||
def test_entry_to_dict(self, mock_entry, mock_entry_to_dict):
|
def test_entry_to_dict(self, mock_entry, mock_entry_to_dict):
|
||||||
out = mock_entry.to_dict()
|
out = mock_entry.to_dict()
|
||||||
|
|
||||||
|
# Delete non-legacy variables to reuse old to_dict comparision
|
||||||
del out[v.entry_metadata.variable_name]
|
del out[v.entry_metadata.variable_name]
|
||||||
del out[v.ytdl_sub_input_url.variable_name]
|
del out[v.ytdl_sub_input_url.variable_name]
|
||||||
del out[v.playlist_metadata.variable_name]
|
del out[v.playlist_metadata.variable_name]
|
||||||
del out[v.source_metadata.variable_name]
|
del out[v.source_metadata.variable_name]
|
||||||
del out[v.sibling_metadata.variable_name]
|
del out[v.sibling_metadata.variable_name]
|
||||||
|
del out[v.playlist_max_upload_date.variable_name]
|
||||||
assert out == mock_entry_to_dict
|
assert out == mock_entry_to_dict
|
||||||
|
|
||||||
def test_entry_missing_kwarg(self, mock_entry):
|
def test_entry_missing_kwarg(self, mock_entry):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue