GithubHelp home page GithubHelp logo

Comments (9)

simplymemes avatar simplymemes commented on June 10, 2024 2

Hey there.
In 1.3.0 I added a couple options to address this, as I was planning on adding something like this for a while.

--ignore-dubs will now attempt to ignore any dubs
--episodes will allow you to select episode ranges
--download-all will download all collections

The best part is, all of these can be used in conjunction... For example:

crunchyroll-dl -i https://www.crunchyroll.com/fullmetal-alchemist-brotherhood --download-all --ignore-dubs --episodes 1-12,15-20

Would ignore the dubbed version of the show, choose the subbed season, and download episodes 1-12 and 15-20, all without you needing to touch the keyboard.
I also tried to add a lot of feedback if something goes wrong.

Hope this helps!

from crunchyroll-dl.

Noctunus avatar Noctunus commented on June 10, 2024

Thank you and great work with this. I only have one minor issue with the "--episodes" parameter: If you only select one single episode it'll just drop out with an unhandle promise rejection. I'm aware that you can download single episodes with providing the direct link to it but without any proxy or session cookie magic in the browser you'll not be able to get that direct link for (out of your) region specific content. So at least for me it would be more convenient to be able to also select single episodes with the "--episodes" parameter.

[EDIT] Forgot to post the error message when using only one episode number in the param:

(node:17190) UnhandledPromiseRejectionWarning: TypeError: episodeRanges.split is not a function
    at main (/usr/local/lib/node_modules/crunchyroll-dl/index.js:421:47)
    at < anonymous >
    at process._tickCallback (internal/process/next_tick.js:188:7)
(node:17190) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:17190) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

from crunchyroll-dl.

simplymemes avatar simplymemes commented on June 10, 2024

@Noctunus

Hmm, I see your point. I have fixed that bug in 1.3.1, and, to hopefully help, I pushed a feature that I had in my private version - --list. It will list all the collections and episodes as a tree in your console.

from crunchyroll-dl.

Abu3safeer avatar Abu3safeer commented on June 10, 2024

Oh, you did a excellent job there.

from crunchyroll-dl.

Noctunus avatar Noctunus commented on June 10, 2024

@simplymemes the new list param is awesome - thanks for that.

The --ignore-dubs parameter is working most of the time but with series like https://www.crunchyroll.com/puella-magi-madoka-magica it'll also select the dubbed version as it's not following the "(LNG Dub)" naming but simply "(Dubbed)". Maybe you could extend the regex to also include the optional "bed" at the end?

from crunchyroll-dl.

Noctunus avatar Noctunus commented on June 10, 2024

Found another "minor" bug with the series: https://www.crunchyroll.com/squid-girl
The first collection contains some files with no episode number:

└─ Squid Girl
   ├─ Squid Girl Season 1
   │  ├─ #(none) Squid Girl Preview #1
   │  ├─ #(none) Interview with Squid Girl (Hisako Kanemoto)
   │  ├─ #(none) Hat Making
   │  ├─ #(none) Squid Girl Preview #2
   │  ├─ #1 Who's up for a squid-vasion? / Hold on a squid, aren't you a compatriot? / Aren't I just the squiddiest?
   │  ├─ #2 Wait a squid, aren't you on my side? / Up for a squid-celebration? / Wanna play with this squid?
[...]

Without providing the episode (-e) parameter it'll drop out with:

i Beginning to download "Squid Girl Season 1"
i Downloading episode (not set), "Squid Girl Preview #1", of "Squid Girl Season 1"
i Attempting to fetch episode...
! You may not have access to watch this episode
(node:4333) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'url' of undefined
    at getEpisode (/usr/local/lib/node_modules/crunchyroll-dl/index.js:240:33)
    at < anonymous >
    at process._tickCallback (internal/process/next_tick.js:188:7)
(node:4333) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:4333) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

By simply selecting the episodes with -e 1-12 this error is avoided as the episodes are filtered out.

[EDIT] I'm using v1.3.2

from crunchyroll-dl.

simplymemes avatar simplymemes commented on June 10, 2024

@Noctunus I quickly pushed 1.3.3 to address these two problems :)

from crunchyroll-dl.

Abu3safeer avatar Abu3safeer commented on June 10, 2024

Thank you very much.

from crunchyroll-dl.

Noctunus avatar Noctunus commented on June 10, 2024

@simplymemes
I'll close this ticket now as the suggested feature is implemented and tested so far. If anything else comes up I'll open a new ticket.

Thanks a lot!

from crunchyroll-dl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.