anidl / multi-downloader-nx

Downloader for Crunchyroll, Hidive, AnimeOnegai, and AnimationDigitalNetwork with CLI and GUI
MIT License
294 stars 49 forks source link

[BUG]: series listing incomplete #609

Closed tamodolo closed 8 months ago

tamodolo commented 8 months ago

Program version

4.5.2

Operating System

Windows

Type

CLI

Service

Crunchyroll

Command used

anidl --service crunchy --series GG5H5XQX4

Show ID

GG5H5XQX4

Episode

NA

Console Output

=== Multi Downloader NX 4.5.2 ===

USER: ========= (================)
Your Country: BR

[Z:GG5H5XQX4] Frieren: Beyond Journey's End (Seasons: 1, EPs: 28) [SIMULCAST, SUB, DUB]
  - Subtitles: en, es-419, es-ES, pt-BR, fr, de, ar, it, ru, hi, th-TH, ta-IN, ms-MY, vi-VN, id-ID
  [S:GRZXCMK93] Frieren: Beyond Journey's End (Season: 1) [SIMULCAST, SUB, DUB]
    - Versions: en, es-419, es-ES, pt-BR, fr, de, it, hi, ta-IN, ja
    - Subtitles: pt-BR
[E1] Frieren: Beyond Journey's End - Season 1 - The Journey's End [☆ Japanese, ☆ English, ☆ French, ☆ Portuguese, ☆ Spanish, ☆ German, ☆ Castilian, ☆ Hindi, ☆ Tamil (India), ☆ Italian]
[E2] Frieren: Beyond Journey's End - Season 1 - It Didn't Have to Be Magic... [☆ Japanese, ☆ English, ☆ French, ☆ Portuguese, ☆ Spanish, ☆ Castilian, ☆ German, ☆ Hindi, ☆ Tamil (India), ☆ Italian]
[E3] Frieren: Beyond Journey's End - Season 1 - Killing Magic [☆ Japanese, ☆ English, ☆ French, ☆ Portuguese, ☆ Spanish, ☆ German, ☆ Castilian, ☆ Hindi, ☆ Tamil (India), ☆ Italian]
[E4] Frieren: Beyond Journey's End - Season 1 - The Land Where Souls Rest [☆ Japanese, ☆ English, ☆ French, ☆ Portuguese, ☆ Spanish, ☆ German, ☆ Castilian, ☆ Hindi, ☆ Tamil (India), ☆ Italian]
[E5] Frieren: Beyond Journey's End - Season 1 - Phantoms of the Dead [☆ Japanese, ☆ English, ☆ French, ☆ Italian, ☆ Castilian, ☆ German, ☆ Portuguese, ☆ Spanish, ☆ Tamil (India), ☆ Hindi]
[E6] Frieren: Beyond Journey's End - Season 1 - The Hero of the Village [☆ Japanese, ☆ English, ☆ French, ☆ Spanish, ☆ Portuguese, ☆ German, ☆ Italian, ☆ Tamil (India), ☆ Castilian, ☆ Hindi]
[E7] Frieren: Beyond Journey's End - Season 1 - Like a Fairy Tale [☆ Japanese, ☆ English, ☆ French, ☆ Portuguese, ☆ German, ☆ Spanish, ☆ Italian, ☆ Tamil (India), ☆ Castilian, ☆ Hindi]
[E8] Frieren: Beyond Journey's End - Season 1 - Frieren the Slayer [☆ Japanese, ☆ English, ☆ French, ☆ German, ☆ Portuguese, ☆ Tamil (India), ☆ Castilian, ☆ Hindi, ☆ Italian, ☆ Spanish]
[E9] Frieren: Beyond Journey's End - Season 1 - Aura the Guillotine [☆ Japanese, ☆ English, ☆ French, ☆ Portuguese, ☆ German, ☆ Spanish, ☆ Italian, ☆ Castilian, ☆ Tamil (India), ☆ Hindi]
[E10] Frieren: Beyond Journey's End - Season 1 - A Powerful Mage [☆ Japanese, ☆ French, ☆ English, ☆ Portuguese, ☆ Spanish, ☆ German, ☆ Italian, ☆ Tamil (India), ☆ Hindi, ☆ Castilian]
[E11] Frieren: Beyond Journey's End - Season 1 - Winter in the Northern Lands [☆ Japanese, ☆ English, ☆ French, ☆ Portuguese, ☆ German, ☆ Spanish, ☆ Italian, ☆ Castilian, ☆ Tamil (India), ☆ Hindi]
[E12] Frieren: Beyond Journey's End - Season 1 - A Real Hero [☆ Japanese, ☆ English, ☆ French, ☆ German, ☆ Portuguese, ☆ Spanish, ☆ Italian, ☆ Castilian, ☆ Tamil (India), ☆ Hindi]
[E13] Frieren: Beyond Journey's End - Season 1 - Aversion to One's Own Kind [☆ Japanese, ☆ English, ☆ French, ☆ Tamil (India), ☆ Italian, ☆ Spanish, ☆ Portuguese, ☆ German, ☆ Hindi, ☆ Castilian]
[E14] Frieren: Beyond Journey's End - Season 1 - Privilege of the Young [☆ Japanese, ☆ English, ☆ Tamil (India), ☆ French, ☆ Portuguese, ☆ German, ☆ Spanish, ☆ Hindi, ☆ Italian, ☆ Castilian]
[E15] Frieren: Beyond Journey's End - Season 1 - Smells Like Trouble [☆ Japanese, ☆ French, ☆ English, ☆ Portuguese, ☆ German, ☆ Italian, ☆ Spanish, ☆ Castilian, ☆ Tamil (India), ☆ Hindi]
[E16] Frieren: Beyond Journey's End - Season 1 - Long-Lived Friends [☆ Japanese, ☆ French, ☆ English, ☆ German, ☆ Portuguese, ☆ Spanish, ☆ Italian, ☆ Castilian, ☆ Tamil (India), ☆ Hindi]
[E17] Frieren: Beyond Journey's End - Season 1 - Take Care [☆ Japanese, ☆ English, ☆ Portuguese, ☆ Spanish, ☆ French, ☆ German, ☆ Italian, ☆ Castilian, ☆ Hindi, ☆ Tamil (India)]
[E18] Frieren: Beyond Journey's End - Season 1 - First-Class Mage Exam [☆ Japanese, ☆ English, ☆ Portuguese, ☆ Spanish, ☆ French, ☆ German, ☆ Italian, ☆ Hindi, ☆ Tamil (India), ☆ Castilian]
[E19] Frieren: Beyond Journey's End - Season 1 - Well-Laid Plans [☆ Japanese, ☆ English, ☆ Portuguese, ☆ Spanish, ☆ French, ☆ German, ☆ Italian, ☆ Tamil (India), ☆ Castilian, ☆ Hindi]
[E20] Frieren: Beyond Journey's End - Season 1 - Necessary Killing [☆ Japanese, ☆ English, ☆ Portuguese, ☆ Spanish, ☆ French, ☆ German, ☆ Hindi, ☆ Italian, ☆ Tamil (India), ☆ Castilian]
[E21] Frieren: Beyond Journey's End - Season 1 - The World of Magic [☆ Japanese, ☆ English, ☆ Portuguese, ☆ Spanish, ☆ French, ☆ German, ☆ Italian, ☆ Hindi, ☆ Castilian, ☆ Tamil (India)]
[E22] Frieren: Beyond Journey's End - Season 1 - Future Enemies [☆ Japanese, ☆ English, ☆ Portuguese, ☆ Spanish, ☆ French, ☆ German, ☆ Italian, ☆ Castilian, ☆ Hindi, ☆ Tamil (India)]
[E23] Frieren: Beyond Journey's End - Season 1 - Conquering the Labyrinth [☆ Japanese, ☆ English, ☆ Portuguese, ☆ Spanish, ☆ French, ☆ German, ☆ Italian, ☆ Hindi, ☆ Tamil (India), ☆ Castilian]
[E24] Frieren: Beyond Journey's End - Season 1 - Perfect Replicas [☆ Japanese, ☆ English, ☆ Portuguese, ☆ Spanish, ☆ French, ☆ Italian, ☆ Hindi, ☆ German, ☆ Castilian, ☆ Tamil (India)]
[E25] Frieren: Beyond Journey's End - Season 1 - A Fatal Vulnerability [☆ Japanese, ☆ English, ☆ Portuguese, ☆ Spanish, ☆ French]

Additional Information

Noticed this yesterday and also happens on 4.5.1 so I think something changed.

anidl can't see beyond what was dubbed (at least in my region - Brazil).

Using Frieren as an example anidl sees that the series has 28 (released yesterday with subs only) episodes but lists only 25 (latest dub episode).

Other series that have delayed dubs also shows the same behavior. Simuldub and series that don't have dubs don't seem to have a problem.

This is a problem for both CLI and GUI.

Extra: Trying to force download beyond the list returns error 404.

anidl --service crunchy -srz GG5H5XQX4 -e 28

=== Multi Downloader NX 4.5.2 ===

USER: ======================= Your Country: BR

Requested object ID: 28 [ERROR] HTTPError 404: Not Found [ERROR] Objects Request FAILED! Body: { "class": "error", "href": "", "links": {}, "actions": {}, "type": "Not Found", "code": "404", "message": "Invalid object identifier", "context": {} } node:internal/process/task_queues:95 runMicrotasks(); ^

TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator)) at Crunchy. (C:\snapshot\multi-downloader-nx\lib\crunchy.js) at Generator.next () at fulfilled (C:\snapshot\multi-downloader-nx\lib\crunchy.js) at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Node.js v18.18.2

AnimeDL commented 8 months ago

I noticed this issue and I'm trying to fix it. I think crunchy did something to ignore the preferred_audio_language flag in the API. It seems not to happen if you set your audio language to Japanese on crunchy's site.

As for the extra, you forgot the second dash in the --srz flag so it was trying to request the single episode with the ID of "28" using the -e flag. Which actually brings me to the temporary workaround, if you watch the episode on crunchy's site, you can copy the ID from the url bar and use it with -e to download it.

AnimeDL commented 8 months ago

On a related note, would you be willing to join the discord to help me test things out (dev builds)? As I'm not able to replicate this on my end, it's been a bit difficult to debug.

tamodolo commented 8 months ago

I noticed this issue and I'm trying to fix it. I think crunchy did something to ignore the preferred_audio_language flag in the API. It seems not to happen if you set your audio language to Japanese on crunchy's site.

As for the extra, you forgot the second dash in the --srz flag so it was trying to request the single episode with the ID of "28" using the -e flag. Which actually brings me to the temporary workaround, if you watch the episode on crunchy's site, you can copy the ID from the url bar and use it with -e to download it.

You just blow my mind as you just game me a way to download using links instead of trying to navigate the program. Still about this, CR use specific codes to specific languages (at least it was this way as the code to play an episode subtitled was different from the one dubbed). Anidl respect that and tries to get the specifics?

On a related note, would you be willing to join the discord to help me test things out (dev builds)? As I'm not able to replicate this on my end, it's been a bit difficult to debug.

Yes. Let me see where the link for it is... I'm there. Just send me and I'll give you feedback

AnimeDL commented 8 months ago

Posting an update here for others, it seems that currently the android API is a bit wonky, it works properly by using --crapi web. The next version will use the web api by default

AnimeDL commented 8 months ago

Version 4.6.0 has been released and should fix this issue, feel free to re-open if the issue persists.