justfoolingaround / animdl

A highly efficient, fast, powerful and light-weight anime downloader and streamer for your favorite anime.
GNU General Public License v3.0
1.3k stars 107 forks source link

Resuming TS downloads #59

Closed shadow5013 closed 3 years ago

shadow5013 commented 3 years ago

Currently if I try to resume ts videos it downloads the whole video again and the final video ends up having some glitches (more specifically it plays till where the last download stopped and goes back to start again). Please do something about this.

justfoolingaround commented 3 years ago

Added, the TS should now continue (note that you'll need a .partial_ts file side by side with the ts. Due to this, it won't work with old incomplete TS files.)

shadow5013 commented 3 years ago

I am getting this error after updating.

Traceback (most recent call last):
  File "/home/shadow/.local/bin/animdl", line 33, in <module>
    sys.exit(load_entry_point('animdl==1.3.15', 'console_scripts', 'animdl')())
  File "/home/shadow/.local/lib/python3.9/site-packages/click/core.py", line 1137, in __call__
    return self.main(*args, **kwargs)
  File "/home/shadow/.local/lib/python3.9/site-packages/click/core.py", line 1062, in main
    rv = self.invoke(ctx)
  File "/home/shadow/.local/lib/python3.9/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/shadow/.local/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/shadow/.local/lib/python3.9/site-packages/click/core.py", line 763, in invoke
    return __callback(*args, **kwargs)
  File "/home/shadow/.local/lib/python3.9/site-packages/animdl/core/cli/helpers/fun.py", line 420, in internal
    return f(*args, **kwargs)
  File "/home/shadow/.local/lib/python3.9/site-packages/animdl/core/cli/commands/download.py", line 214, in animdl_download
    hls_download(available_qualities,
  File "/home/shadow/.local/lib/python3.9/site-packages/animdl/core/codebase/downloader/download.py", line 69, in hls_download
    for content in hls_yield(
  File "/home/shadow/.local/lib/python3.9/site-packages/animdl/core/codebase/downloader/hls_download.py", line 99, in hls_yield
    content_response, origin_m3u8 = resolve_stream(session, logger, q_dicts, preferred_quality)
TypeError: cannot unpack non-iterable NoneType object
justfoolingaround commented 3 years ago

Can you give me the anime name and the episode you're downloading?

shadow5013 commented 3 years ago

Sure. Boarding School Juliet. Full series. Here is the full output

$ animdl download https://animepahe.com/anime/516a1eed-224d-68c7-c6aa-2a6a6a872d90
░█████╗░███╗░░██╗██╗███╗░░░███╗██████╗░██╗░░░░░
██╔══██╗████╗░██║██║████╗░████║██╔══██╗██║░░░░░
███████║██╔██╗██║██║██╔████╔██║██║░░██║██║░░░░░
██╔══██║██║╚████║██║██║╚██╔╝██║██║░░██║██║░░░░░
██║░░██║██║░╚███║██║██║░╚═╝░██║██████╔╝███████╗
╚═╝░░╚═╝╚═╝░░╚══╝╚═╝╚═╝░░░░░╚═╝╚═════╝░╚══════╝v1.3.15
A highly efficient anime downloader and streamer

[download.py:106 - 2021-09-04 12:20:25,518 - animdl-animepahe-downloader-core: WARNING] Could not get the folder to download to, generating a cool random folder name: lonely-end
[download.py:109 - 2021-09-04 12:20:25,519 - animdl-animepahe-downloader-core: INFO] Initializing download session [00 -> ?]
[download.py:156 - 2021-09-04 12:20:27,338 - animdl-animepahe-downloader-core: INFO] Starting download session [00 -> 11]
[download.py:157 - 2021-09-04 12:20:27,338 - animdl-animepahe-downloader-core: INFO] Downloads will be done in the folder 'lonely-end'
Traceback (most recent call last):
  File "/home/shadow/.local/bin/animdl", line 33, in <module>
    sys.exit(load_entry_point('animdl==1.3.15', 'console_scripts', 'animdl')())
  File "/home/shadow/.local/lib/python3.9/site-packages/click/core.py", line 1137, in __call__
    return self.main(*args, **kwargs)
  File "/home/shadow/.local/lib/python3.9/site-packages/click/core.py", line 1062, in main
    rv = self.invoke(ctx)
  File "/home/shadow/.local/lib/python3.9/site-packages/click/core.py", line 1668, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/shadow/.local/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/shadow/.local/lib/python3.9/site-packages/click/core.py", line 763, in invoke
    return __callback(*args, **kwargs)
  File "/home/shadow/.local/lib/python3.9/site-packages/animdl/core/cli/helpers/fun.py", line 420, in internal
    return f(*args, **kwargs)
  File "/home/shadow/.local/lib/python3.9/site-packages/animdl/core/cli/commands/download.py", line 214, in animdl_download
    hls_download(available_qualities,
  File "/home/shadow/.local/lib/python3.9/site-packages/animdl/core/codebase/downloader/download.py", line 69, in hls_download
    for content in hls_yield(
  File "/home/shadow/.local/lib/python3.9/site-packages/animdl/core/codebase/downloader/hls_download.py", line 99, in hls_yield
    content_response, origin_m3u8 = resolve_stream(session, logger, q_dicts, preferred_quality)
TypeError: cannot unpack non-iterable NoneType object
justfoolingaround commented 3 years ago

Oops, was a slight oversight in HLS downloader optimization, should be working now.

shadow5013 commented 3 years ago

Yup. It's working now.