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/"))
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/'))
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 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/"))