diff --git a/bulkredditdownloader/downloader.py b/bulkredditdownloader/downloader.py index a6cac45..57d919b 100644 --- a/bulkredditdownloader/downloader.py +++ b/bulkredditdownloader/downloader.py @@ -187,7 +187,7 @@ class RedditDownloader: if self.download_filter.check_url(submission.url): try: downloader_class = DownloadFactory.pull_lever(submission.url) - downloader = downloader_class(self.download_directory, submission) + downloader = downloader_class(submission) if self.args.no_download: logger.info('Skipping download for submission {}'.format(submission.id)) else: diff --git a/bulkredditdownloader/site_downloaders/base_downloader.py b/bulkredditdownloader/site_downloaders/base_downloader.py index b3fb7e6..c8cb39a 100644 --- a/bulkredditdownloader/site_downloaders/base_downloader.py +++ b/bulkredditdownloader/site_downloaders/base_downloader.py @@ -3,7 +3,6 @@ import logging from abc import ABC, abstractmethod -from pathlib import Path import requests from praw.models import Submission @@ -15,8 +14,7 @@ logger = logging.getLogger(__name__) class BaseDownloader(ABC): - def __init__(self, directory: Path, post: Submission): - self.directory = directory + def __init__(self, post: Submission): self.post = post self.hashes = [] diff --git a/bulkredditdownloader/site_downloaders/direct.py b/bulkredditdownloader/site_downloaders/direct.py index cb90752..713eacf 100644 --- a/bulkredditdownloader/site_downloaders/direct.py +++ b/bulkredditdownloader/site_downloaders/direct.py @@ -1,15 +1,13 @@ #!/usr/bin/env python3 -import pathlib - from praw.models import Submission from bulkredditdownloader.site_downloaders.base_downloader import BaseDownloader class Direct(BaseDownloader): - def __init__(self, directory: pathlib.Path, post: Submission): - super().__init__(directory, post) + def __init__(self, post: Submission): + super().__init__(post) def download(self): return [self._download_resource(self.post.url)] diff --git a/bulkredditdownloader/site_downloaders/erome.py b/bulkredditdownloader/site_downloaders/erome.py index 84ee3c9..39094f6 100644 --- a/bulkredditdownloader/site_downloaders/erome.py +++ b/bulkredditdownloader/site_downloaders/erome.py @@ -1,7 +1,6 @@ #!/usr/bin/env python3 import logging -import pathlib import re import urllib.error import urllib.request @@ -16,8 +15,8 @@ logger = logging.getLogger(__name__) class Erome(BaseDownloader): - def __init__(self, directory: pathlib.Path, post: Submission): - super().__init__(directory, post) + def __init__(self, post: Submission): + super().__init__(post) def download(self): try: diff --git a/bulkredditdownloader/site_downloaders/gallery.py b/bulkredditdownloader/site_downloaders/gallery.py index 7a4c732..73bb2e9 100644 --- a/bulkredditdownloader/site_downloaders/gallery.py +++ b/bulkredditdownloader/site_downloaders/gallery.py @@ -2,7 +2,6 @@ import json import logging -import pathlib import requests from praw.models import Submission @@ -14,8 +13,8 @@ logger = logging.getLogger(__name__) class Gallery(BaseDownloader): - def __init__(self, directory: pathlib.Path, post: Submission): - super().__init__(directory, post) + def __init__(self, post: Submission): + super().__init__(post) link = self.post.url self.raw_data = self._get_data(link) @@ -39,7 +38,8 @@ class Gallery(BaseDownloader): @staticmethod def _get_data(link: str) -> dict: headers = { - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36 OPR/54.0.2952.64", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)" + " Chrome/67.0.3396.87 Safari/537.36 OPR/54.0.2952.64", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", } res = requests.get(link, headers=headers) diff --git a/bulkredditdownloader/site_downloaders/gfycat.py b/bulkredditdownloader/site_downloaders/gfycat.py index 1bc442d..af94596 100644 --- a/bulkredditdownloader/site_downloaders/gfycat.py +++ b/bulkredditdownloader/site_downloaders/gfycat.py @@ -1,7 +1,6 @@ #!/usr/bin/env python3 import json -import pathlib import re import urllib.request @@ -12,8 +11,8 @@ from bulkredditdownloader.site_downloaders.gif_delivery_network import GifDelive class Gfycat(GifDeliveryNetwork): - def __init__(self, directory: pathlib.Path, post: Submission): - super().__init__(directory, post) + def __init__(self, post: Submission): + super().__init__(post) def download(self): super().download() diff --git a/bulkredditdownloader/site_downloaders/gif_delivery_network.py b/bulkredditdownloader/site_downloaders/gif_delivery_network.py index ba84695..b335ed8 100644 --- a/bulkredditdownloader/site_downloaders/gif_delivery_network.py +++ b/bulkredditdownloader/site_downloaders/gif_delivery_network.py @@ -1,6 +1,5 @@ #!/usr/bin/env python3 -import pathlib import urllib.request from bs4 import BeautifulSoup @@ -11,8 +10,8 @@ from bulkredditdownloader.site_downloaders.base_downloader import BaseDownloader class GifDeliveryNetwork(BaseDownloader): - def __init__(self, directory: pathlib.Path, post: Submission): - super().__init__(directory, post) + def __init__(self, post: Submission): + super().__init__(post) def download(self): try: diff --git a/bulkredditdownloader/site_downloaders/imgur.py b/bulkredditdownloader/site_downloaders/imgur.py index d821121..15cefe4 100644 --- a/bulkredditdownloader/site_downloaders/imgur.py +++ b/bulkredditdownloader/site_downloaders/imgur.py @@ -2,7 +2,6 @@ import json import logging -import pathlib import requests from praw.models import Submission @@ -18,15 +17,15 @@ class Imgur(BaseDownloader): imgur_image_domain = "https://i.imgur.com/" - def __init__(self, directory: pathlib.Path, post: Submission): - super().__init__(directory, post) + def __init__(self, post: Submission): + super().__init__(post) self.raw_data = {} def download(self): link = self.post.url if link.endswith(".gifv"): - direct_thing = Direct(self.directory, self.post) + direct_thing = Direct(self.post) return direct_thing.download() self.raw_data = self._get_data(link) diff --git a/bulkredditdownloader/site_downloaders/redgifs.py b/bulkredditdownloader/site_downloaders/redgifs.py index 2c109d7..7cb54fc 100644 --- a/bulkredditdownloader/site_downloaders/redgifs.py +++ b/bulkredditdownloader/site_downloaders/redgifs.py @@ -1,7 +1,6 @@ #!/usr/bin/env python3 import json -import pathlib import urllib.request from bs4 import BeautifulSoup @@ -12,8 +11,8 @@ from bulkredditdownloader.site_downloaders.gif_delivery_network import GifDelive class Redgifs(GifDeliveryNetwork): - def __init__(self, directory: pathlib.Path, post: Submission): - super().__init__(directory, post) + def __init__(self, post: Submission): + super().__init__(post) def download(self): super().download() diff --git a/bulkredditdownloader/site_downloaders/self_post.py b/bulkredditdownloader/site_downloaders/self_post.py index 05f576e..cda5c78 100644 --- a/bulkredditdownloader/site_downloaders/self_post.py +++ b/bulkredditdownloader/site_downloaders/self_post.py @@ -1,7 +1,6 @@ #!/usr/bin/env python3 import logging -import pathlib from praw.models import Submission @@ -12,8 +11,8 @@ logger = logging.getLogger(__name__) class SelfPost(BaseDownloader): - def __init__(self, directory: pathlib.Path, post: Submission): - super().__init__(directory, post) + def __init__(self, post: Submission): + super().__init__(post) def download(self): return Resource(self.post, self.post.url, bytes(self.export_to_string())) diff --git a/bulkredditdownloader/site_downloaders/vreddit.py b/bulkredditdownloader/site_downloaders/vreddit.py index d13bece..40df4b3 100644 --- a/bulkredditdownloader/site_downloaders/vreddit.py +++ b/bulkredditdownloader/site_downloaders/vreddit.py @@ -16,8 +16,8 @@ logger = logging.getLogger(__name__) class VReddit(BaseDownloader): - def __init__(self, directory: pathlib.Path, post: Submission): - super().__init__(directory, post) + def __init__(self, post: Submission): + super().__init__(post) def download(self): try: diff --git a/bulkredditdownloader/site_downloaders/youtube.py b/bulkredditdownloader/site_downloaders/youtube.py index b99b2a1..6184d26 100644 --- a/bulkredditdownloader/site_downloaders/youtube.py +++ b/bulkredditdownloader/site_downloaders/youtube.py @@ -1,7 +1,6 @@ #!/usr/bin/env python3 import logging -import pathlib import tempfile import youtube_dl @@ -14,8 +13,8 @@ logger = logging.getLogger(__name__) class Youtube(BaseDownloader): - def __init__(self, directory: pathlib.Path, post: Submission): - super().__init__(directory, post) + def __init__(self, post: Submission): + super().__init__(post) def download(self): return self._download_video() diff --git a/bulkredditdownloader/tests/downloaders/test_base_downloader.py b/bulkredditdownloader/tests/downloaders/test_base_downloader.py index 41c8335..3644abf 100644 --- a/bulkredditdownloader/tests/downloaders/test_base_downloader.py +++ b/bulkredditdownloader/tests/downloaders/test_base_downloader.py @@ -11,8 +11,8 @@ from bulkredditdownloader.site_downloaders.base_downloader import BaseDownloader class BlankDownloader(BaseDownloader): - def __init__(self, directory, post): - super().__init__(directory, post) + def __init__(self, post): + super().__init__(post) def download(self) -> list[Resource]: return [self._download_resource(self.post.url)] @@ -24,7 +24,7 @@ class BlankDownloader(BaseDownloader): def test_get_resource(test_url: str, expected_hash: str): mock_submission = Mock mock_submission.url = test_url - downloader = BlankDownloader(Path('.'), mock_submission) + downloader = BlankDownloader(mock_submission) result = downloader.download() assert isinstance(result[0], Resource) assert result[0].hash.hexdigest() == expected_hash