diff --git a/fastanime/cli/commands/anilist/__init__.py b/fastanime/cli/commands/anilist/__init__.py index 13cf9b0..dd5f446 100644 --- a/fastanime/cli/commands/anilist/__init__.py +++ b/fastanime/cli/commands/anilist/__init__.py @@ -4,6 +4,7 @@ from ...interfaces.anilist_interfaces import anilist as anilist_interface from ...utils.tools import QueryDict from .favourites import favourites from .popular import popular +from .random_anime import random_anime from .recent import recent from .scores import scores from .search import search @@ -18,6 +19,7 @@ commands = { "scores": scores, "popular": popular, "favourites": favourites, + "random": random_anime, } diff --git a/fastanime/cli/commands/anilist/random_anime.py b/fastanime/cli/commands/anilist/random_anime.py new file mode 100644 index 0000000..f8bc471 --- /dev/null +++ b/fastanime/cli/commands/anilist/random_anime.py @@ -0,0 +1,27 @@ +import random + +import click + +from ....libs.anilist.anilist import AniList +from ...interfaces.anilist_interfaces import select_anime +from ...utils.tools import QueryDict + + +@click.command( + help="Get random anime from anilist based on a range of anilist anime ids that are seected at random", + short_help="View random anime", +) +@click.pass_obj +def random_anime(config): + random_anime = range(1, 15000) + + random_anime = random.sample(random_anime, k=50) + + anime_data = AniList.search(id_in=list(random_anime)) + + if anime_data[0]: + anilist_config = QueryDict() + anilist_config.data = anime_data[1] + select_anime(config, anilist_config) + else: + print(anime_data[1])