Esempio n. 1
0
    def get_image_link_from_allowed_domain(self, url, domain):
        """
        Use correct domain parser.
        """
        if domain == Domains.REDDIT:
            return None
        elif domain == Domains.IMGUR:
            # If url contains www.imgur, skip it
            # This is a lame bug fix, but Imgur class doesn't deal with URLs
            # of that type. This is because when a user visits a link such as this:
            # www.imgur.com/album_hash they are re-directed to imgur.com/album_hash
            if 'www.imgur' in url: return None

            imgur = Imgur(url)
            if imgur.is_it_image():
                imgur.prepare_images()
                return imgur.images[0]['url']
            return None

        elif domain == Domains.GFYCAT:
            return Gfycat(url).parse_gfycat()

        elif domain == Domains.TUMBLR:
            return None
        elif domain == Domains.BLOGSPOT:
            return None
        else:
            return None
def test_invalid_link_with_multiple_s():
    """
    Test if the class raises exception for invalid link.
    """
    with pytest.raises(ImgurException):
        Imgur('httpssssss://i.imgur.com/jedEzFL')
def test_invalid_link_with_variation():
    """
    Test if the class raises exception for invalid link.
    """
    with pytest.raises(ImgurException):
        Imgur('https://www.reddit.com/imgur.com')
def test_invalid_link_almost_correct():
    """
    Test if the class raises exception for invalid link.
    """
    with pytest.raises(ImgurException):
        Imgur('http://.iimgur.com/jedEzFL')
def album_gallery():
    return Imgur('http://imgur.com/gallery/vTTHZ')
def album_grid():
    return Imgur('http://imgur.com/a/vTTHZ?grid')
def album_a():
    return Imgur('http://imgur.com/a/vTTHZ')
def single_image_without_extension():
    return Imgur('http://imgur.com/jedEzFL')
def single_image_i():
    return Imgur('http://i.imgur.com/jedEzFL.jpg')