diff --git a/src/ytdl_sub/entries/base_entry.py b/src/ytdl_sub/entries/base_entry.py index 950c7dfb..639d3528 100644 --- a/src/ytdl_sub/entries/base_entry.py +++ b/src/ytdl_sub/entries/base_entry.py @@ -40,6 +40,16 @@ class BaseEntryVariables: """ return self.kwargs(UID) + @property + def uid_sanitized(self: "BaseEntry") -> str: + """ + Returns + ------- + str + The sanitized uid of the entry, which is safe to use for Unix and Windows file names. + """ + return sanitize_filename(self.uid) + @property def extractor(self: "BaseEntry") -> str: """ diff --git a/tests/unit/entries/conftest.py b/tests/unit/entries/conftest.py index ab9b9e30..610ee599 100644 --- a/tests/unit/entries/conftest.py +++ b/tests/unit/entries/conftest.py @@ -61,6 +61,7 @@ def mock_entry_to_dict( ): return { "uid": uid, + "uid_sanitized": uid, "title": "entry {title}", "title_sanitized": "entry {title}", "ext": ext,