diff --git a/rtv/mime_parsers.py b/rtv/mime_parsers.py index 9bbbfea..95c0e91 100644 --- a/rtv/mime_parsers.py +++ b/rtv/mime_parsers.py @@ -382,6 +382,7 @@ class LiveleakMIMEParser(BaseMIMEParser): else: return url, None + class ClippitUserMIMEParser(BaseMIMEParser): """ """ @@ -446,6 +447,33 @@ class FlickrMIMEParser(OpenGraphMIMEParser): # TODO: handle albums/photosets (https://www.flickr.com/services/api) +class WorldStarHipHopMIMEParser(BaseMIMEParser): + """ + + Sometimes only one video source is available + """ + pattern = re.compile(r'https?://((www|m)\.)?worldstarhiphop\.com/videos/video.php\?v=\w+$') + + @staticmethod + def get_mimetype(url): + page = requests.get(url) + soup = BeautifulSoup(page.content, 'html.parser') + + source = soup.find_all(lambda t: t.name == 'source' and + t['src'] and t['type'] == 'video/mp4') + if source: + return source[0]['src'], 'video/mp4' + else: + iframe = soup.find_all(lambda t: t.name == 'iframe' and + 'youtube.com' in t['src']) + if iframe: + return YoutubeMIMEParser.get_mimetype(iframe[0]['src']) + + + # Parsers should be listed in the order they will be checked parsers = [ ClippitUserMIMEParser, @@ -467,5 +495,6 @@ parsers = [ ImgflipMIMEParser, LivememeMIMEParser, MakeamemeMIMEParser, + WorldStarHipHopMIMEParser, GifvMIMEParser, BaseMIMEParser] diff --git a/tests/cassettes/test_parser[worldstar].yaml b/tests/cassettes/test_parser[worldstar].yaml new file mode 100644 index 0000000..7ce94d6 --- /dev/null +++ b/tests/cassettes/test_parser[worldstar].yaml @@ -0,0 +1,199 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.14.2] + method: GET + uri: http://www.worldstarhiphop.com/videos/video.php?v=wshh09DUN5MeDK2El4sO + response: + body: + string: !!binary | + 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 + e5l/ASHf/LIHogAA + headers: + Accept-Ranges: [bytes] + Age: ['255'] + Connection: [keep-alive] + Content-Encoding: [gzip] + Content-Length: ['9759'] + Content-Type: [text/html] + Date: ['Sun, 29 Oct 2017 12:20:09 GMT'] + Server: [Apache] + Vary: [Accept-Encoding] + Via: [1.1 varnish] + X-Varnish: [2618724991 2618705315] + status: {code: 200, message: OK} +version: 1 diff --git a/tests/test_mime_parsers.py b/tests/test_mime_parsers.py index a1d98de..2238f3c 100644 --- a/tests/test_mime_parsers.py +++ b/tests/test_mime_parsers.py @@ -122,6 +122,10 @@ URLS = OrderedDict([ 'https://www.flickr.com/photos/obamawhitehouse/8191317327/', 'https://c1.staticflickr.com/9/8065/8191317327_5180e95d98_b.jpg', 'image/jpeg')), + ('worldstar', ( + 'http://www.worldstarhiphop.com/videos/video.php?v=wshh09DUN5MeDK2El4sO', + 'https://hw-videos.worldstarhiphop.com/u/vid/2017/10/4OnndgEmNSME.mp4', + 'video/mp4')), ])