From 711f8b0c7680507e2b8352377f6214170c14dc2f Mon Sep 17 00:00:00 2001 From: Serene-Arc Date: Sun, 2 May 2021 13:59:45 +1000 Subject: [PATCH] Add exception for r/all in subreddit check --- bdfr/downloader.py | 2 ++ tests/test_downloader.py | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/bdfr/downloader.py b/bdfr/downloader.py index 9dbafc9..3348628 100644 --- a/bdfr/downloader.py +++ b/bdfr/downloader.py @@ -468,6 +468,8 @@ class RedditDownloader: @staticmethod def _check_subreddit_status(subreddit: praw.models.Subreddit): + if subreddit.display_name == 'all': + return try: assert subreddit.id except prawcore.NotFound: diff --git a/tests/test_downloader.py b/tests/test_downloader.py index ef06a77..0a3418e 100644 --- a/tests/test_downloader.py +++ b/tests/test_downloader.py @@ -513,7 +513,20 @@ def test_check_user_existence_banned( ('donaldtrump', 'cannot be found'), ('submitters', 'private and cannot be scraped') )) -def test_check_subreddit_status(test_subreddit_name: str, expected_message: str, reddit_instance: praw.Reddit): +def test_check_subreddit_status_bad(test_subreddit_name: str, expected_message: str, reddit_instance: praw.Reddit): test_subreddit = reddit_instance.subreddit(test_subreddit_name) with pytest.raises(BulkDownloaderException, match=expected_message): RedditDownloader._check_subreddit_status(test_subreddit) + + +@pytest.mark.online +@pytest.mark.reddit +@pytest.mark.parametrize('test_subreddit_name', ( + 'Python', + 'Mindustry', + 'TrollXChromosomes', + 'all', +)) +def test_check_subreddit_status_good(test_subreddit_name: str, reddit_instance: praw.Reddit): + test_subreddit = reddit_instance.subreddit(test_subreddit_name) + RedditDownloader._check_subreddit_status(test_subreddit)