aboutsummaryrefslogtreecommitdiff
path: root/importer/providers/g_reddit.py
blob: e0341e06fcd7924a26df2d3ebe1583c8b38268f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from praw import Reddit

from importer.providers.raw_image_base import RawImageProviderBase


class GReddit(RawImageProviderBase):
    regex = "^.*www.reddit.com/gallery.*$"
    _TEST = [{
        "url": "https://www.reddit.com/gallery/mik7c9",
        "paths": ['source_hlokpsyhgrq61.jpg', 'source_n31c2y7igrq61.jpg', 'source_7eg0o76igrq61.jpg',
                  'source_whl12jbigrq61.jpg', 'source_4uok762igrq61.jpg', 'source_t3pgm64igrq61.jpg',
                  'source_ymc4hv9igrq61.jpg']
    }]

    def __init__(self, url: str, reddit: Reddit):
        super(GReddit, self).__init__(url)
        self.reddit = reddit

    def download(self):
        submission = self.reddit.submission(url=self.url)
        for key in submission.media_metadata:
            value = submission.media_metadata[key]
            url = value['s']['u']
            path = self._download_raw_file(url)
            self.paths.append(path)
        self.downloaded = True