def test_build_json_url(self):
        self.assertEquals('http://www.reddit.com/r/comics/.json?limit=100',
                          RedditDownloader.build_json_url('http://www.reddit.com/r/comics/'))

        self.assertEquals('http://www.reddit.com/r/comics/top/.json?limit=100',
                          RedditDownloader.build_json_url('http://www.reddit.com/r/comics/top/'))

        self.assertEquals('http://www.reddit.com/r/comics/top/.json?sort=top&t=week&limit=100',
                          RedditDownloader.build_json_url('http://www.reddit.com/r/comics/top/?sort=top&t=week'))
    def test_validate(self):
        parent = AttrDict()

        parent.options.safe_mode = True
        self.assertTrue(
            RedditDownloader.validate("http://www.reddit.com/r/comics",
                                      parent))
        self.assertFalse(
            RedditDownloader.validate("http://www.reddit.com/r/nsfw/", parent))

        parent.options.safe_mode = False
        self.assertTrue(
            RedditDownloader.validate("http://www.reddit.com/r/comics",
                                      parent))
        self.assertTrue(
            RedditDownloader.validate("http://www.reddit.com/r/nsfw/", parent))

        self.assertTrue(
            RedditDownloader.validate("http://www.reddit.com/r/AutumnPorn/"))
        self.assertTrue(
            RedditDownloader.validate(
                "http://www.reddit.com/r/AutumnPorn/top?sort=top&t=month"))
        self.assertFalse(
            RedditDownloader.validate("http://www.reddit.com/r/bestof/"))
        self.assertFalse(
            RedditDownloader.validate(
                "http://www.reddit.com/r/dhkjregfhjregfjfdrejh/"))
        self.assertFalse(
            RedditDownloader.validate(
                "http://www.notreddit.com/r/dhkjregfhjregfjfdrejh/"))
Example #3
0
    def test_build_json_url(self):
        self.assertEqual(
            'http://www.reddit.com/r/comics/.json?limit=100',
            RedditDownloader.build_json_url('http://www.reddit.com/r/comics/'))

        self.assertEqual(
            'http://www.reddit.com/r/comics/top/.json?limit=100',
            RedditDownloader.build_json_url(
                'http://www.reddit.com/r/comics/top/'))

        self.assertEqual(
            'http://www.reddit.com/r/comics/top/.json?sort=top&t=week&limit=100',
            RedditDownloader.build_json_url(
                'http://www.reddit.com/r/comics/top/?sort=top&t=week'))
    def test_validate(self):
        parent = AttrDict()

        parent.options.safe_mode = True
        self.assertTrue(RedditDownloader.validate('http://www.reddit.com/r/comics', parent))
        self.assertFalse(RedditDownloader.validate('http://www.reddit.com/r/nsfw/', parent))

        parent.options.safe_mode = False
        self.assertTrue(RedditDownloader.validate('http://www.reddit.com/r/comics', parent))
        self.assertTrue(RedditDownloader.validate('http://www.reddit.com/r/nsfw/', parent))

        self.assertTrue(RedditDownloader.validate('http://www.reddit.com/r/AutumnPorn/'))
        self.assertTrue(RedditDownloader.validate('http://www.reddit.com/r/AutumnPorn/top?sort=top&t=month'))
        self.assertFalse(RedditDownloader.validate('http://www.reddit.com/r/bestof/'))
        self.assertFalse(RedditDownloader.validate('http://www.reddit.com/r/dhkjregfhjregfjfdrejh/'))
        self.assertFalse(RedditDownloader.validate('http://www.notreddit.com/r/dhkjregfhjregfjfdrejh/'))
Example #5
0
    def validate(self, query):
        if not '/' in query:
            query = 'https://www.reddit.com/r/%s' % query
        else:
            if not query.startswith("http://") and not query.startswith("https://"):
                query = "https://" + query
            if not '//reddit.com' in query and not '//www.reddit.com' in query:
                return query, False, _("This does not seem to be a valid Reddit URL")

        valid = RedditDownloader.validate(query, self.parent)
        return query, None if valid else _("We could not find any image submissions there.")
Example #6
0
    def validate(self, query):
        if not "/" in query:
            query = "https://www.reddit.com/r/%s" % query
        else:
            if not query.startswith("http://") and not query.startswith(
                    "https://"):
                query = "https://" + query
            if not "//reddit.com" in query and not "//www.reddit.com" in query:
                return query, False, _(
                    "This does not seem to be a valid Reddit URL")

        valid = RedditDownloader.validate(query, self.parent)
        return (query, None if valid else
                _("We could not find any image submissions there."))
 def test_download_one(self):
     test_download_one_for(
         self, RedditDownloader(None,
                                "http://www.reddit.com/r/AutumnPorn/"))