Skip to content

Commit

Permalink
Feat: Add flags anime-url and episode-count to grab
Browse files Browse the repository at this point in the history
  • Loading branch information
LQR471814 committed Jul 18, 2023
1 parent 20766c9 commit 300de7d
Showing 1 changed file with 31 additions and 5 deletions.
36 changes: 31 additions & 5 deletions animdl/core/cli/commands/grab.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,21 @@
@click.command(
name="grab", help="Stream the stream links to the stdout stream for external usage."
)
@click.option(
"--anime-url",
"-u",
type=str,
default=None,
help="Use the URL for a specific anime, overrides query."
)
@click.option(
"--episode-list",
"-e",
type=bool,
default=False,
help="Only return a list of episode numbers for the given anime.",
is_flag=True
)
@helpers.decorators.content_fetch_options(
include_quality_options=False,
include_special_options=False,
Expand All @@ -29,15 +44,26 @@ def animdl_grab(query, index, **kwargs):
"The content is outputted to [green]stdout[/] while these messages are outputted to [red]stderr[/]."
)

anime, provider = helpers.process_query(
client, query, console, auto_index=index, provider=DEFAULT_PROVIDER
)
anime_url = kwargs.get("anime_url")
if anime_url is None:
anime, provider = helpers.process_query(
client, query, console, auto_index=index, provider=DEFAULT_PROVIDER
)
if not anime:
return
anime_url = anime.get("anime_url")

if not anime:
if kwargs.get("episode_list"):
episodes = []
for _, episode in providers.get_appropriate(
client, anime_url, check=kwargs.get("range")
):
episodes.append(episode)
click.echo(json.dumps({"episodes": episodes}))
return

for stream_url_caller, episode in providers.get_appropriate(
client, anime.get("anime_url"), check=kwargs.get("range")
client, anime_url, check=kwargs.get("range")
):
stream_url = list(helpers.ensure_extraction(client, stream_url_caller))
click.echo(json.dumps({"episode": episode, "streams": stream_url}))

0 comments on commit 300de7d

Please sign in to comment.