Exemplo n.º 1
0
    def show_thumbnails(self, _link_list):
        print('Converting url to image')

        # Thumbnail image
        def open_url(url):
            return lambda x: webbrowser.open_new(url)

        w = 150
        h = 80

        # self._image.place_forget();
        [button.place_forget() for button in self._thumbnail_list]

        for i, url in enumerate(_link_list):
            if i == 15:
                break
            thumbnail_url = get_thumbnail(url)
            print(thumbnail_url)
            response = get_verified_response(thumbnail_url)
            print(response.status)

            im = Image.open(io.BytesIO(response.data))
            im = im.resize((w, h), Image.ANTIALIAS)
            image = ImageTk.PhotoImage(im)

            thumbnail_button = Button(self, image=image, width=w, height=h)
            thumbnail_button.place(x=260 + (0 if i < 5 else
                                            (1.1 * w if i < 10 else 2.2 * w)),
                                   y=150 + (i % 5) * (h * 1.1))
            # self._lambda_list.append(lambda x: webbrowser.open_new(_link_list[i]))
            thumbnail_button.bind("<Button-1>", open_url(url))

            self._image.append(image)
            self._thumbnail_list.append(thumbnail_button)
Exemplo n.º 2
0
    def test_happy_path(self):
        """Tests if url is a valid youtube-link"""
        verified_youtube_url = 'https://www.youtube.com/watch?v=1XW1Ygatsz4'
        thumbnail_url = get_thumbnail(verified_youtube_url)
        response = get_verified_response(thumbnail_url)

        self.assertIsInstance(thumbnail_url, str)
        self.assertEquals(200, response.status)
Exemplo n.º 3
0
    def test_bad_path_no_thumbnail(self):
        """Tests if url is a valid youtube-link but no thumbnail"""
        unverified_youtube_url = 'https://www.youtube.com/watch?v=a8wrKC15QMk'
        thumbnail_url = get_thumbnail(unverified_youtube_url)
        response = get_verified_response(thumbnail_url)

        self.assertIsInstance(thumbnail_url, str)
        self.assertEquals(404, response.status)
Exemplo n.º 4
0
def filter_thumbnail_only(_list):
    """Returns list of filtered youtube hyper-links"""
    result = list()
    for count, href in enumerate(_list):
        if count > 15:
            break
        if get_verified_response(get_thumbnail(href)).status == 200:
            result.append(href)
    return result
Exemplo n.º 5
0
 def test_bad_path_invalid_url(self):
     """Tests if url is not a valid youtube-video-link"""
     unverified_youtube_url = 'https://www.youtube.com/'
     thumbnail_url = get_thumbnail(unverified_youtube_url)
     self.assertIsInstance(thumbnail_url, type(None))