diff --git a/bulkredditdownloader/site_downloaders/gallery.py b/bulkredditdownloader/site_downloaders/gallery.py index 16b145f..7125674 100644 --- a/bulkredditdownloader/site_downloaders/gallery.py +++ b/bulkredditdownloader/site_downloaders/gallery.py @@ -6,7 +6,7 @@ import logging import requests from praw.models import Submission -from bulkredditdownloader.errors import ResourceNotFound, NotADownloadableLinkError +from bulkredditdownloader.errors import NotADownloadableLinkError, ResourceNotFound from bulkredditdownloader.site_downloaders.base_downloader import BaseDownloader logger = logging.getLogger(__name__) @@ -33,7 +33,7 @@ class Gallery(BaseDownloader): except KeyError: continue - return [self._download_album(images)] + return self._download_album(images) @staticmethod def _get_data(link: str) -> dict: @@ -62,7 +62,6 @@ class Gallery(BaseDownloader): def _download_album(self, images: dict): out = [] - for i, image in enumerate(images): - out.append(self._download_resource(image['url'])) - + for image_key in images.keys(): + out.append(self._download_resource(images[image_key]['url'])) return out diff --git a/bulkredditdownloader/tests/downloaders/test_gallery.py b/bulkredditdownloader/tests/downloaders/test_gallery.py new file mode 100644 index 0000000..f590c60 --- /dev/null +++ b/bulkredditdownloader/tests/downloaders/test_gallery.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python3 +# coding=utf-8 + +import praw +import praw.models +import pytest + +from bulkredditdownloader.resource import Resource +from bulkredditdownloader.site_downloaders.gallery import Gallery + + +@pytest.fixture() +def reddit_submission() -> praw.models.Submission: + rd = praw.Reddit(client_id='U-6gk4ZCh3IeNQ', client_secret='7CZHY6AmKweZME5s50SfDGylaPg', user_agent='test') + return rd.submission(id='ljyy27') + + +def test_gallery(reddit_submission: praw.models.Submission): + gallery = Gallery(reddit_submission) + results = gallery.download() + assert len(results) == 4 + assert all([isinstance(result, Resource) for result in results])