Skip to content

Commit

Permalink
Merge d234ec5 into bd87759
Browse files Browse the repository at this point in the history
  • Loading branch information
DiogoMarques29 committed Jan 18, 2016
2 parents bd87759 + d234ec5 commit c230cd7
Showing 1 changed file with 28 additions and 1 deletion.
29 changes: 28 additions & 1 deletion embed_video/backends.py
Expand Up @@ -18,6 +18,11 @@
EMBED_VIDEO_YOUTUBE_DEFAULT_QUERY


def checkUrl(url):
r = requests.head(url)
return int(r.status_code) < 400


class EmbedVideoException(Exception):
""" Parental class for all embed_video exceptions """
pass
Expand Down Expand Up @@ -303,8 +308,14 @@ class YoutubeBackend(VideoBackend):
)

pattern_url = '{protocol}://www.youtube.com/embed/{code}'
pattern_thumbnail_url = '{protocol}://img.youtube.com/vi/{code}/hqdefault.jpg'
pattern_thumbnail_url = '{protocol}://img.youtube.com/vi/{code}/{resolution}'
default_query = EMBED_VIDEO_YOUTUBE_DEFAULT_QUERY
resolutions = [
'maxresdefault.jpg',
'sddefault.jpg',
'hqdefault.jpg'
'mqdefault.jpg',
]

def get_code(self):
code = super(YoutubeBackend, self).get_code()
Expand All @@ -322,6 +333,22 @@ def get_code(self):

return code

def get_thumbnail_url(self):
"""
Returns thumbnail URL folded from :py:data:`pattern_thumbnail_url` and
parsed code.
:rtype: str
"""
for resolution in self.resolutions:
temp_thumbnail_url = self.pattern_thumbnail_url.format(
code=self.code, protocol=self.protocol, resolution=resolution)
if checkUrl(temp_thumbnail_url):
return temp_thumbnail_url
break
return self.pattern_thumbnail_url.format(
code=self.code, protocol=self.protocol, resolution='hqdefault.jpg')


class VimeoBackend(VideoBackend):
"""
Expand Down

0 comments on commit c230cd7

Please sign in to comment.