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.59k stars 61 forks source link

Updating to latest makes some subscriptions fail #910

Closed krafs closed 4 months ago

krafs commented 5 months ago

I bumped my version of ytdl-sub to the latest version, and two of my subscriptions started failing. I don't know if the errors have the same cause, but I'm including both of them here.

Attaching my config.yaml and subscriptions.yaml here:

config.yaml ```yml configuration: persist_logs: logs_directory: /config/logs keep_successful_logs: false working_directory: /tmp/ytdl-sub-downloads presets: tv_show: preset: - kodi_tv_show_by_date - season_by_year__episode_by_month_day - best_video_quality match_filters: filters: - '!is_live' date_range: after: "today-{download_range}" ytdl_options: check_formats: true break_on_reject: true output_options: keep_files_after: "today-{download_range}" overrides: tv_show_directory: /tv_shows tv_show_name: "{subscription_name}" episode_title: "{title}" download_range: 6weeks url: "https://www.youtube.com/@{channel_slug}" ```
subscriptions.yaml ```yml __preset__: preset: 'tv_show' "Dotnet Community Standup": regex: from: title: match: "Community Standup" overrides: channel_slug: dotnet/streams "WAN Show": regex: from: title: match: 'WAN Show' ytdl_options: break_on_reject: false max_downloads: 5 output_options: keep_files_after: 'today-2weeks' overrides: download_range: '1years' channel_slug: LinusTechTips/streams ```

Here's the two error logs: 2024-01-21-110141.dotnet_community_standup.error.log 2024-01-21-111326.wan_show.error.log

jmbannon commented 5 months ago

@krafs Seems like a ytdl-sub issue, can you send me which python version you're using? python --version should do the trick

krafs commented 5 months ago

I should probably have mentioned, but I am using the Docker image ghcr.io/jmbannon/ytdl-sub, with docker-compose:

services:
  ytdl-sub:
    image: ghcr.io/jmbannon/ytdl-sub:latest
    container_name: ytdl-sub
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Amsterdam
      - DOCKER_MODS=linuxserver/mods:universal-cron
    volumes:
      - ./ytdl-sub:/config
      - ./videos/youtube/shows:/tv_shows
    restart: unless-stopped

My running container reports Python 3.11.6.

jmbannon commented 4 months ago

Finally got around to trying to reproduce, but no luck @krafs Are you still getting an error on this one?

jmbannon commented 4 months ago

Actually I take that back, I reproduced it by setting "check_formats": True What does this option do?

jmbannon commented 4 months ago

Incoming fix in the linked PR. I would still remove check_formats since it significantly increases the metadata scraping time, but maybe it does something I'm not aware of?

jmbannon commented 4 months ago

Please reopen if you still have the issue. Thanks for the bug report!

krafs commented 4 months ago

Incoming fix in the linked PR. I would still remove check_formats since it significantly increases the metadata scraping time, but maybe it does something I'm not aware of?

I don't remember exactly, but this seemed to fix an issue I had a long time ago where sometimes a download would just fail. I found an issue - in this repo or some other - saying that check_formats fixes it, at the cost of making the operation take longer to finish. I haven't tried without it since then. I can give it a shot.

Many thanks for looking into this! I can confirm it seems to work again :)