From 65e9b5920cde19a2b7a04507c11eef2d7de90687 Mon Sep 17 00:00:00 2001 From: vn-ki Date: Mon, 5 Feb 2018 05:27:10 +0530 Subject: [PATCH] Add check for wrong urls --- anime_downloader/anime.py | 4 ++++ anime_downloader/cli.py | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/anime_downloader/anime.py b/anime_downloader/anime.py index b3c936b..b20ce4a 100644 --- a/anime_downloader/anime.py +++ b/anime_downloader/anime.py @@ -33,6 +33,10 @@ class Anime: r = requests.get(self.url) soup = BeautifulSoup(r.text, 'html.parser') episodes = soup.find_all('ul', ['episodes']) + if episodes == []: + err = 'No episodes found in url "{}"'.format(self.url) + args = [self.url] + raise NotFoundError(err, *args) episodes = episodes[:int(len(episodes)/3)] for x in episodes: diff --git a/anime_downloader/cli.py b/anime_downloader/cli.py index 158f28f..db4f9cb 100644 --- a/anime_downloader/cli.py +++ b/anime_downloader/cli.py @@ -1,5 +1,5 @@ import click -from .anime import Anime +from .anime import Anime, NotFoundError echo = click.echo @@ -17,7 +17,11 @@ def cli(anime_url, range, playlist, url): Download your favourite anime. """ - anime = Anime(anime_url) + try: + anime = Anime(anime_url) + except NotFoundError as e: + echo(e.args[0]) + return if range is None: range = '1:'+str(len(anime)+1)