jmbannon / ytdl-sub

Lightweight tool to automate downloading and metadata generation with yt-dlp
https://ytdl-sub.readthedocs.io
GNU General Public License v3.0
1.74k stars 70 forks source link

Add fallback for upload date #912

Closed jmbannon closed 7 months ago

jmbannon commented 8 months ago

Not all yt-dlp supported sites have one. Have it fall back to epoch date

abc@831de5b02fb8:~/ytdl-sub-configs$ ytdl-sub view https://watch.islamchannel.tv/series/a6cccef3-3ef1-11eb-bc19-06b69c2357cd
[ytdl-sub] Viewing source variables for URL 'https://watch.islamchannel.tv/series/a6cccef3-3ef1-11eb-bc19-06b69c2357cd'
[ytdl-sub:downloader] Downloading metadata for Omar - Young Omar
[ytdl-sub:downloader] Downloading metadata for Omar - The beginning of the Spread of Islam
[ytdl-sub:yt-dlp-downloader] MaxDownloadsReached, stopping additional downloads.
[ytdl-sub:downloader] Beginning downloads for https://watch.islamchannel.tv/series/a6cccef3-3ef1-11eb-bc19-06b69c2357cd
[ytdl-sub] An uncaught error occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/main.py", line 29, in main
    return_code = _main()
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/main.py", line 18, in _main
    subs = ytdl_sub.cli.entrypoint.main()
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/cli/entrypoint.py", line 263, in main
    _view_url_from_cli(config=config, url=args.url, split_chapters=args.split_chapters)
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/cli/entrypoint.py", line 193, in _view_url_from_cli
    subscription.download(dry_run=True)
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/subscriptions/subscription_download.py", line 362, in download
    return self._process_subscription(
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/subscriptions/subscription_download.py", line 302, in _process_subscription
    for entry in downloader.download_metadata():
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/downloaders/url/downloader.py", line 467, in download_metadata
    entry.initialize_script(self.overrides).add(
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/entries/entry.py", line 59, in initialize_script
    self._add_entry_kwargs_to_script()
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/entries/entry.py", line 66, in _add_entry_kwargs_to_script
    self.update_script()
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/utils/scriptable.py", line 62, in update_script
    self.script.resolve(unresolvable=self.unresolvable, update=True)
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/script/script.py", line 421, in resolve
    return self._resolve(
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/script/script.py", line 364, in _resolve
    resolved[variable] = unresolved[variable].resolve(
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/script/types/syntax_tree.py", line 29, in resolve
    self._resolve_argument_type(
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/script/types/variable_dependency.py", line 152, in _resolve_argument_type
    return arg.resolve(
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/script/types/function.py", line 261, in resolve
    resolved_arguments: List[Resolvable | Lambda] = [
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/script/types/function.py", line 262, in <listcomp>
    self._resolve_argument_type(
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/script/types/variable_dependency.py", line 152, in _resolve_argument_type
    return arg.resolve(
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/script/types/function.py", line 261, in resolve
    resolved_arguments: List[Resolvable | Lambda] = [
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/script/types/function.py", line 262, in <listcomp>
    self._resolve_argument_type(
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/script/types/variable_dependency.py", line 152, in _resolve_argument_type
    return arg.resolve(
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/script/types/function.py", line 287, in resolve
    return self.callable(*resolved_arguments)
  File "/usr/local/lib/python3.10/dist-packages/ytdl_sub/script/functions/map_functions.py", line 65, in map_get
    raise KeyDoesNotExistRuntimeException(
ytdl_sub.script.utils.exceptions.KeyDoesNotExistRuntimeException: Tried to call %map_get with key upload_date, but it does not exist
[ytdl-sub] Version 2024.01.20+2961614
Please upload the error log file '/tmp/ytdl-sub.errorsm7px5mca' and make a Github issue at https://github.com/jmbannon/ytdl-sub/issues with your config and command/subscription yaml file to reproduce. Thanks for trying ytdl-sub!
abc@831de5b02fb8:~/ytdl-sub-configs$