diff options
Diffstat (limited to 'importer')
-rw-r--r-- | importer/downloader.py | 7 | ||||
-rw-r--r-- | importer/providers/i_reddit.py | 16 | ||||
-rw-r--r-- | importer/providers/providerbase.py | 2 | ||||
-rw-r--r-- | importer/providers/raw_image_base.py | 2 | ||||
-rw-r--r-- | importer/providers/youtube_dl_base.py | 5 |
5 files changed, 18 insertions, 14 deletions
diff --git a/importer/downloader.py b/importer/downloader.py index 1dd1684..290c9e2 100644 --- a/importer/downloader.py +++ b/importer/downloader.py @@ -15,8 +15,5 @@ class Downloader: self.url = url self.reddit = reddit - def download(self): - with self.Provider(url=self.url, reddit=self.reddit) as provider: - provider.download() - self.paths = provider.paths - self.downloaded = provider.downloaded + def provider(self): + return self.Provider(url=self.url, reddit=self.reddit) diff --git a/importer/providers/i_reddit.py b/importer/providers/i_reddit.py index 797ce43..13fc70e 100644 --- a/importer/providers/i_reddit.py +++ b/importer/providers/i_reddit.py @@ -2,8 +2,14 @@ from importer.providers.raw_image_base import RawImageProviderBase class IReddit(RawImageProviderBase): - regex = "^.*i\\.redd\\.it.*\\.(jpg|jpeg)$" - _TEST = [{ - "url": "https://i.redd.it/pjj1ll1b2rr41.jpg", - "paths": ["source_pjj1ll1b2rr41.jpg"] - }] + regex = "^.*i\\.redd\\.it.*\\.(jpg|jpeg|gif)$" + _TEST = [ + { + "url": "https://i.redd.it/pjj1ll1b2rr41.jpg", + "paths": ["source_pjj1ll1b2rr41.jpg"] + }, + { + "url": "https://i.redd.it/55vpi6ol5jc71.gif", + "paths": ['source_55vpi6ol5jc71.gif'] + } + ] diff --git a/importer/providers/providerbase.py b/importer/providers/providerbase.py index 374b9af..51b525e 100644 --- a/importer/providers/providerbase.py +++ b/importer/providers/providerbase.py @@ -12,7 +12,7 @@ class ProviderBase: "paths": ["source_fXLMjfp.jpg"], }] - def __init__(self, url: str): + def __init__(self, url: str, **kwargs): self.url = url self.paths = [] self.downloaded = False diff --git a/importer/providers/raw_image_base.py b/importer/providers/raw_image_base.py index 267dcad..89ecfca 100644 --- a/importer/providers/raw_image_base.py +++ b/importer/providers/raw_image_base.py @@ -8,7 +8,7 @@ from importer.providers.providerbase import ProviderBase class RawImageProviderBase(ProviderBase): - regex = "^.*i.(jpg|jpeg|mp4)$" + regex = "^.*.(jpg|jpeg|mp4|gif)$" def download(self): path = self._download_raw_file(self.url) diff --git a/importer/providers/youtube_dl_base.py b/importer/providers/youtube_dl_base.py index 3bb2fb8..3d67738 100644 --- a/importer/providers/youtube_dl_base.py +++ b/importer/providers/youtube_dl_base.py @@ -18,6 +18,7 @@ class YoutubeDlProviderBase(ProviderBase): def download(self): ydl_opts = { + 'quiet': True, 'format': self.format, 'merge_output_format': self.merge_format_output, 'outtmpl': self.output_template @@ -28,9 +29,9 @@ class YoutubeDlProviderBase(ProviderBase): if info.get('_type', None) == 'playlist': for entry in info['entries']: r = ydl.prepare_filename(entry) - self.paths.append(f'{os.path.splitext(r)[0]}.mp4') + self.paths.append(f'{os.path.splitext(r)[0]}.{entry["ext"]}') else: r = ydl.prepare_filename(info) - self.paths.append(f'{os.path.splitext(r)[0]}.mp4') + self.paths.append(f'{os.path.splitext(r)[0]}.{info["ext"]}') self.downloaded = True |