diff --git a/rtv/mime_parsers.py b/rtv/mime_parsers.py index 9bbbfea..a2d8e78 100644 --- a/rtv/mime_parsers.py +++ b/rtv/mime_parsers.py @@ -376,11 +376,16 @@ class LiveleakMIMEParser(BaseMIMEParser): if source: urls.append((source.get('src'), source.get('type'))) # TODO: Handle pages with multiple videos - # TODO: Handle pages with youtube embeds if urls: return urls[0] else: - return url, None + iframe = soup.find_all(lambda t: t.name == 'iframe' and + 'youtube.com' in t['src']) + if iframe: + return YoutubeMIMEParser.get_mimetype(iframe[0]['src'].strip('/')) + else: + return url, None + class ClippitUserMIMEParser(BaseMIMEParser): """ @@ -446,6 +451,35 @@ 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']) + else: + return url, None + + + # Parsers should be listed in the order they will be checked parsers = [ ClippitUserMIMEParser, @@ -467,5 +501,6 @@ parsers = [ ImgflipMIMEParser, LivememeMIMEParser, MakeamemeMIMEParser, + WorldStarHipHopMIMEParser, GifvMIMEParser, BaseMIMEParser] diff --git a/tests/cassettes/test_parser[liveleak_video].yaml b/tests/cassettes/test_parser[liveleak_video_1].yaml similarity index 100% rename from tests/cassettes/test_parser[liveleak_video].yaml rename to tests/cassettes/test_parser[liveleak_video_1].yaml diff --git a/tests/cassettes/test_parser[liveleak_video_2].yaml b/tests/cassettes/test_parser[liveleak_video_2].yaml new file mode 100644 index 0000000..e681203 --- /dev/null +++ b/tests/cassettes/test_parser[liveleak_video_2].yaml @@ -0,0 +1,341 @@ +interactions: +- request: + body: null + headers: + Accept: ['*/*'] + Accept-Encoding: ['gzip, deflate'] + Connection: [keep-alive] + User-Agent: [python-requests/2.14.2] + method: GET + uri: https://www.liveleak.com/view?i=cad_1487311993 + response: + body: {string: "\r\n\r\n\r\n\tLiveLeak.com + - Trump Toys with Reporters at Press Conference Today \r\n \r\n \r\n \r\n \r\n\r\n + \ \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nSafe Mode: On\r\n
\r\n\t
\r\n\t\t\"\"/\r\n\r\n\t\t
\r\n\t\t\t

\r\n\t\t\t\t + \ Create Account | \r\n\t\t\t\tLog in | \r\n  \r\n \r\n \t\t\t

\r\n
\r\n\t\t\t\r\n\r\n\t\t\t
\r\n
\r\n\t\t\t\t\r\n\t\t\t\t\r\n
\r\n\t\t + \
\r\n
\r\n\r\n\t\t
\r\n\r\n\t\t\t\t\t\r\n\t
\r\n
\r\n
\r\n
\r\n\t
\r\n\t\t
+ \
\r\n \r\n
\r\n \r\n + \
\r\n
\r\n
Trump + Toys with Reporters at Press Conference Today
\r\n
\r\n + \
\r\n
\"\" Part of channel(s): Presidency of Donald Trump (current + event)
\r\n

The MSM is circling + the drain and can't be done with fast enough!

\r\n\t\t
\r\n + \ \r\n
\r\n \r\n
+ \ \r\n\r\n + \
\r\n
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t + \
\r\n
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tAdded: + Feb-17-2017 Occurred On: Feb-17-2017 + \
By: TurnOffTelevision + \
In:
Politics + \
Tags: No, + More, Fake, News
Location: United States (load + item map)
Views: + 18845 | Comments: 292 | Votes: 25\r\n + | Favorites: 1 + | Shared: 38 | Updates: 0 | Times + used in channels: 3 + \
\r\n \r\n
\r\n + \
\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n
\r\n\r\n
\r\n\r\n + \ \r\n + \ Direct link:


\r\n Direct + link without comments:
\r\n
\r\n
+ \r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n + \
\r\n \r\n
\r\n \r\n + \
\r\n \r\n
\r\n \r\n\r\n + \
You need to be registered in order to add comments! + Register HERE
\r\n + \ \r\n \r\n\r\n \r\n
\r\n + \ \r\n
\r\n + \
\r\n\t\r\n \r\n \r\n

\r\n\r\n Advertisement below\r\n
\r\n
\r\n\r\n\r\n
\r\n + \
\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n + \ \r\n\r\n\r\n
Liveleak + on Facebook
\r\nLIKE Liveleak.com

\r\n
Items
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
    \r\n + \ \t\t\t\t\t\t\t
  • Related
  • \r\n \t\t\t\t\t\t\t
  • User
  • \r\n + \ \t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t + \
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t + \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n \t\t
\r\n
Advertisers
\r\n
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t

\r\n Advertise on Liveleak
\r\n + \ Liveleak Forums
\r\n TomoNews - Animated News
\r\n + \

\r\n
\r\n
+ \r\n \t\t
\r\n\t
\r\n
\r\n
\r\n\t
\r\n\t\t\r\n\r\n\t\t\"Web\r\n\t\tBACK + TO TOP\r\n\r\n\t
\r\n
\r\n \r\n + \ \r\n\r\n + \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"} + headers: + Access-Control-Allow-Origin: ['*'] + Cache-Control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0'] + Connection: [keep-alive] + Content-Type: [text/html; charset=UTF-8] + Date: ['Sun, 29 Oct 2017 13:56:26 GMT'] + Expires: ['Thu, 19 Nov 1981 08:52:00 GMT'] + Pragma: [no-cache] + Server: [nginx/1.6.1] + Set-Cookie: [PHPSESSID=c47884aaee715fa322e3e3952ac01ded; path=/; domain=.liveleak.com, + 'liveleak_safe_mode=1; expires=Mon, 29-Oct-2018 13:56:26 GMT; Max-Age=31536000; + path=/; domain=.liveleak.com; httponly', 'liveleak_use_old_player=1; expires=Mon, + 29-Oct-2018 13:56:26 GMT; Max-Age=31536000; path=/; domain=.liveleak.com; + httponly'] + X-Powered-By: [PHP/5.6.30] + status: {code: 200, message: OK} +version: 1 diff --git a/tests/cassettes/test_parser[worldstar_1].yaml b/tests/cassettes/test_parser[worldstar_1].yaml new file mode 100644 index 0000000..7ce94d6 --- /dev/null +++ b/tests/cassettes/test_parser[worldstar_1].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/cassettes/test_parser[worldstar_2].yaml b/tests/cassettes/test_parser[worldstar_2].yaml new file mode 100644 index 0000000..968d5aa --- /dev/null +++ b/tests/cassettes/test_parser[worldstar_2].yaml @@ -0,0 +1,174 @@ +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=wshhJ6bVdAv0iMrNGFZG + response: + body: + string: !!binary | + H4sIAAAAAAAAA7Q77VbbyJK/yVN0tDOxPbH8BQRsMDl8JbAhwAZPsnNZLqctte0GWa1RyzZMwjn3 + QXZf7j7JVnW3ZMmWwcwwOTlY7q6uqq7varW3Xx+c7Xd+Oz8kR53PJzuvtgfR0CMe9ftti/kWDjDq + 7rxa2R6yiBJnQEPJorY1inr2ppWM+3TI2taYs0kgwsgijvAj5gPchLvRoO2yMXeYrb6UCfd5xKln + S4d6rF2v1CxSRUwRjzy20xkw8kGMfJeF5KxH9njkCO6TY0lOxYR8A/QD8tM7GPc8Lnzyhg6DLZgi + Zz4jn3wxkeTbQJAjBitekx/klE3IV+4yQbarmkCyl5jHRq2+YddrdmPTIoMoCmz2+4iP25ZHZWQP + hct7nLlWdX4h9TzLbD0UXRHJPKAxErcIj9gwCEXQtvrMD1m8bshcPhrmrWO+/etFeh33T0AtI9pn + eeAvKbaYOSUviyB5Fkb3bUv0W3osh4GvnJL90739CjkXMmIu6d6T3a478tJ7cJl0Qh5EwEJMJDOU + IZWeySH47ezLycFFZ/fL0fH50dl5mowUo9BhZ2Gf+vwPmqamZ/LQpa0gxTCN2H7I4G+uBWQ1ZIZP + hEMXMf2yapqSRi/1uJ+7M2OBWTXeB7mwaP+tanUymVQmIvRcGdFwwIOBCCqOGFYVKqk/KsEgeD9u + T+Rg8J/vul/d3XGNfw5PP374x8c0Z6PQm6GNI8voM7NIAsZr1OEiriWwPZjYwHDEnVzmR9WAO1XU + c7Veq/63923v+Ms4WN+4eVe5CfppnqPBaNj1Kfd+nWOeDxc44Lu1Wh5oSwW9vAWr7/IXDBjvD6Lc + kOCisNOLet0WdYfcN5EHLOCWDELWezlFhswDw6a+8DmE6xQZNaE4vpahY6XI/nVNzFBRXM5SeWRz + bNhlbrVeX23U1g2yTJZCbEbKM+rIh9UqnFF1Pqjyq1SGCAKP62hQvbOHAev/+uVkfm004VHEwpZD + Qze1OvDoPQsXg5v4/DcFl0VUMwF7mfC/CFG8vWWDz+NqzWJtzepsbfXpNXM20VivL16kvVVZ5QsH + okUUVSh98VC9iBpG3BZP22O93qw3Vt819JrYRbGEoaYYUu4qo3uPyQFj0WxUcKgzYI9x60hZBUQV + +FTFpbY0gl4FjLG7qHpDx1SPWgRkP8VNb+hdpS9E32M04FJhxbGqx7uyevP7iIX31XqlXqvUzbcK + BM7KDRDarmqMT1LcmXDfFZPKzX/hevLjB3GFMxqCcCqTEMRVLMTrM6w9ue2bmEFbMzjl7H9i1gql + KZfA5mvbJs+RzjIs/IOFYt/jQVdAGMoKhth2SjhZzK5/A9L2xMjteTRkM4J3UghB/O8qtdTQsxXw + Z+VaGdIcUiDES94jXkSOD0nzCoZenDxn81QvmQ89xZUWKSpyj/UhTH9Utkt2ferdQ+SQpEP7GbnD + EyHF3sh3MPYWeVmWRblfDsu0PCx955cFjSFBcNa9YU5UuGqHW/wyvGrjnx8/kvWl7wofjlZ+b+uP + Hz8ur0qVYCQHRRr2lWXL0kNZTXrt+i8+dFMHUAwXS1u0DVpXlfGhxxCwKEplxDiEiT6LzKjcu4d9 + nEJkgfnL2tUWrVB57zvtOjyhOPtbw0oAduNHp8JlFahloLTZYz0RsiJuDFE+lIra88qxv5ULWiaF + ciFWBwZC7f82jUWgjTH5diMBvk8LpS3E2qfFgt5BoUwKv+7amxtrjY3Gql3H73QUiRSgBKXhcABB + H/tcNTVjTEaRQPPCAfbzFTimIbkGEKlA2qlnCCeXV4pgMqZV8Z049RaxGlaZOA14qL9rbGyqeuVB + Mzg1ihIBra4gDQm4k+iUVZRlzLlUJsxLg+WqLYFG7RGp1QeronDEgPqKRDXC92KCxjMNUAUK1Ug4 + Ami0iXEbi7wniQfJrkVaJM5kXatE3hKronaOpVDIJKOhM1Ba7DIKiQi9CYkyb6HRSNyVlgvYzaya + fJHSxTYf9rM+3V1APXjv1NuNN06jHQv/jTNuNyrwcdOOi4RqCrmyh0PfzbMGnPp8tnd8ckgODjuH + +51seF2Qe0i1SiB47B/sdnYvXxHzbwUCWLHo0zHv00iElRFIYrePWgCHYXdnvWKBnw+Ezwol8rpN + 7HoJ7ezxBecnu79BI9Y5Pjt9xip+LtxngH+CJ+85XPFzOsWPdk5m/q3MGSBpJ8Y1zA3UWJ+zp2uk + ram4H1ANV1c7Wav6mzS367uh4CmpvnnzhJA+iy5PSfWlxKT5eAFBKa84PcgxfzN53l3GGbTTpvJs + 0MXIQFRsem45kUFj6z3+iaokiwbSRV69Ee/PfDv4cD6bIUBqv/zyCzkR1OV+X0OQj+cdNVqtJgJO + Yj4pprWMob9P3Ueif5w5S1Nl4YKZuJ6Zwm3DTGFm44WtDFkwx4uLE4TT0bSAYX9xUpihYZKIQfJ+ + iqSlH1tg1G/njLmQzvsR7YNH4FGzTvzwHbXRDyLM/FlmfcgbT6a+RFSY+pLluHRh9sG9lBWIka/O + QYlqYkaB9vQZYt/3Bw2UDFacoZsGUt9NiTBFF0S77oUnItR3MpNZo0uImQIB/k+XwuYyhFzW4z7D + qWKhur7eaK4161Wo/MwJhwiuNxqbd80alEOX8FQmzdoVVEYSFtQLUK+tVKjrXmhFFKdog1EXZFMs + lbbAjF0+toEDm7p2fbX5rra6vtpc36yt2fUsa/XnstZs1u4a64q3S3guE/hyVb5sbpjHmNPGX+a0 + keW08RxO5S33r+t3WGhe1sukHnO1+me4WqvVG5tQk9Sb6027luVqdSFXVr78VmtKfhbKD55j+anH + d7Wp/NY0p5JFH0TosAvaYx9C9BkMH39VtLgJiIOpfawtId2IycgGRRvTVCqfmua6YhiwPle6zbX1 + Rm2z2Wyu1YCxuQg0jWJzuFA6HeijWASRvGiBeLljlfVJobQUJfLRE13qkSgGIxBFCPU8Ql0y8jk4 + 9jSlrjxJQqHu4Blk2VJnxakg/1w0UFkAljqiWHbJB8gzo5C5sK5HPcmes/YiEL4UenFNL1x6KRjf + vj6kgsVogOl9L4vlK3R1EtZvNDfW157D+fGBkfZcOZROsbmoErcB9nu8X/wuodTqiruWysIPj693 + uaRdjx3r16lYMBQfXwBJ16OBZIfDILo/4GOZD898RGtcJIExrSYhWLaac7BpBoPCdIqABvwLo+79 + bF3i9gINFLr3ptDIzEfhLTBqslkO/yB1FQ3g0WN+PxooD3LEyI+I6JFowNBrFALolKlPuox4ot9n + LomEQUiS0wC9K+gVJXucT2XKGjpJvEPZv445vbQgMNZqlikR4imYSaAuP9NoUOl5QoRF9RiCnsUQ + svEvUyCzqZLBk9R3sHkHqqfbpM5bUbsGb/EYlFX9YuFgD2pELPoUXLqyQ3PlQyZGUbYESAeEKX4l + zwjgQzLhEIMcHYj09JQhECY0xxCyIgMMxMfQH2D4AoLHPpgO9TI0AG9nwKXGqNb3AMWA9FjkDJgk + lODREmgPw5/KL0T43n0lgyTHJAye4mUm513NhL1ceZmlimmd0KaLHsqJWkopzScS8Ogf97uuPOAS + Xx0UEe6au2WmK0h4LE01hY6Ztk0yGTCf8IiAOGgXNIPygHKVEe7DEx4uxdtGS/NgufaK2BRjNgH3 + V+qNGNo+FKrg3L8Riui5M4gJLkdDr74eK2xQhP9UTO2kIno90CoIGxKYXW/UaomgcC11d72hkNFX + LjmGDYXqq8GURpxe5HEJ0Rosp01yzTIVY+Kd7bQfIwXx5/VUUlkLf6ocnkKuZKwkbsGoCy3IW6Pj + Gct6zCTNiqwxPmS+zZgHmjz8cVja7jMGkG3OFIIvbCjGTKFIxOqLSRqFEWWoIA/HeEfBQKoWB6QI + BVO8OO0Gr7KfBg8UUEsiecjv/uO2Vw2Yc288HvsMwbmP8QTnzLKpriZltyzLXpmXvk8uvas2/sED + 6y18MCelhX40rKjQVGi9mp5WY+rAOFgslRly3lJw0BSCOtAee203vwOU2PqVX93AfLaLlqWy67W9 + 1+2CSyN6gu8PC+8Lb7x24a3XKhS2bswxt1LYjTrpfpVzVA2WM9SbVh2r5uo9dwENf+t6W72FjeZN + uQdCfvRkfMpZufCx89le//TxQ+d0DwLdVCnJOeUiNVT1BbDtrnDvUYdQGxPgz5qENAhYaKm3JggD + C3BcP6phDex4VMp4HEpqPaX+bTvAMAv1QIzZNJJEvUZsF9SL3Bb0mcHdFtFvaFvNGnwpGDyZs5m5 + I4qdp9w/3VWYcB63sluPureBAvdGpyYpO0emsIeIH9O7zMyRBf8ychOeluci4GSRjEIB4cqsgxAm + rJ1tal7BxqdT1s43POAjF+Aj5IgH5EgE21WK51Rq+RJ0fDp+GiqBHnnKLGDREnuYW+3x6RbwPTR1 + Ijx/tHb2z047u/sdzTpAaeHmrjNHmxJPM/NONy3TfbWt665H/Vtr5+Lo7HyKeWlmqyNvCfFVl5If + ys1oUgoHr0v6LALub+UzxAhiiJH0qMO6Qtxac3LBYBTPKnnMyGhePDH0nxDRlCFzzSCfHzOZZWee + EQOWNYIcWhA4wYehz5qnlkw9Res4Blx+10saBITzIaEqIIGy9TsntHEyZNFAgO98POxYiTGoeRvX + LBMTepzBhlj0DBVxP4B6MdYShFPLHHtr0slNSotAsHSYjk9t68LMVp9NymAfdYccaKla8VnotqvL + 7xJgQXKL4XRsxhit85XKbqlorGIQ95MEh/cKVHzDB4tAFcTMcyqpmbVBKIbC1hcIpzlwJvE14rT2 + d+W1xlJ5rbEgr6UT2+z39F4hVNmO8EZDX8Z73YaijDtQYqREiSc2yX5nxAxzNioBSvApzKD+ohfE + Qc31BHd6Z2lmVOa049tqeEtUOiJg6knbbpxhoJUd0ooI+1V15VxfwNBuqu9KzVyLfdGrmtqo9U2u + KR11ZfZvuiKYT/G59wPzsYwC7Huwerdy72ibVTNSzV7cfcErqYacDKifR25ZszhG50+bxdOW8UKs + z0s471brItjc27JGJlUUyqLNqDub6s7r82/uLmJGe2Ine9MWf76yTj6Axw6W3nG9sfmMLW80EHib + 9/C8dnprxOzmXoyiUZeldrH3B1tf/X1ydLEp3uNlImQbr4ron8ToS8SaiLl8rBB3RajSKXynnicm + vZHngT8x5kPRoWnvPHHd4KdKAC5WtKo04NWRKiXKkA/GeHPIXJ59IOke8In4Jz0IPbZkKrVMM1ca + RFcvdncURWIa8WfxDKCVtbviLj2P7WdcT+pX4emVuge0xJiFPRBGa8Bdl/lbpifELhCGadTyWC/a + SifVTJkn86pcxU1oPlRcHbVf6krtbO04f8/ocY9WNYKs9rqKu9VKACkwkUVAHR7dt2qV5uYW3i+g + KZllk/PTImyuPyLCWUvPFWPgjfpQQ0M9fMuUTJTYEfzn1d2fGx/g/wJxwowWaPyAy39e/TD+efUg + T6wqF4EPgaO1taFdq6N/NQ7N3eQaGZNtdUaqBrWnNdfVF1NgI5/qew/8ug1CcalP1QCUKyJUsZq1 + XRreqkHjoOD65iyT4y/jfDHvrUbOeqTlC59tkVmhk5TU47OMBlqxcfZOSH2pDnyc+7Z+kTX1+oVa + RhcyndAzPehR9c96ULonU3ZpzbRytnFwpRuL4OmTPcar4amuSg0mPy/UXwcQs/HqRtv6dnF0ZAYh + C75cZdSZMBZlPCW5cPM6qZnxcBEP7vE88EaWezfy8UPBoF39p2awgm+ei25yxaX0Xp30FVr6wK+w + xXvF12lce/fHbhFolb4rIrMni1s3sgL9AHfxAd0veFsAMUACibB7yXbH3AW86mrrFrC8+LhQ7ai0 + 9fCQ3NPEF+PmqJAUYh1OANF8bsg3OvNGDUKAfMnQ/ZxL/3jTX7OhpIF3r4AbcL6Z++vb/ZaZIJL/ + Mf3hJYAkM49vlvludpMzMLG7/EfiFt3It0OmfxCrfqrTtva+nH06PH0PZFXRZL6aEiobyrOneRMa + QdeP721sFfSsnY1meWN9Tb3KkdPDu1zm0kl4SOWtzf2eWJSkMdlDK53RyOw8QQS2epzvZJMzF7RV + mq0ZFBC+M4yhXFXg418czVb4v6oWAFqFMycSXQhueNcIAfCXvOmAOENZnVlkZuem7eRUNQMV7Cxs + U7arwQ7JQs90wrkjKbpoDjHZfGsh0D6oowVtHRdHZ9/I57Mvh7F9sKEeOzm8uNiGKnNHH0XNEH2k + Q1+gTW2kefo0RV8Mbqw5u8Vg59xjVKJKuXOr3kP9+1//+0WB/vtf/0d0PiBdBlEAX+whgArZBF8l + 40thvFOPbyp9fDkqwlt86aZ/4+jdV1DwM/Qe8TUJ3GnSGrUi9FrLaUk8BHF1qQN12+nh18Mvn49P + D8qks/vpkHw+JHu7+59y0IGKtKieFh8wBkWhtLv4Ut1aaC5DJuXsSZHmegjFyU5HIYGdqW/kNzEK + oVVBmekrvdDUD6mS5Lc4cxIKSlBVAv60S70a9ib0Hj6CIGQOxx85z4kbKZ4B7ojRob4U4IMaPazW + 1avkHr9DIkrYLAxFOK+weQOdl9VsNM3Gr0xnsqhN0SFSl3nS1CLgNswjuoFRz6a60CUVKF6f7cyo + InNoh6vkfLyY736kHYpJJmxOj/AVlpz2aGXFvKlIzr2Ceyx9CD6AHRp2k19M2Ri8stX4koXR/wMA + AP//7F1rc9o4F/68+yvUdKbZC0kwBgPJTN4BDIGUSxZIIP3SESCwG1/ANhD49asjGWMD2eCSTdh3 + zJeCrcjW0dFzbo/U3YGKq/6Qcrh2kxuDNVJ5Ti1dVyoM8dIi1AdRZ2SzNX1dOCPBW07XNOT3rJpn + 3HyFGv/Y3T9iUfMLA/6iOVduOMKd+i+Tqelc0Riaf1kF0vwX7M7gl8FZ4F9fE5k/8+D+sd/D55dW + 3W5E5l9GzhW8oeupw8+TwIyyzr053SHpRFhRJ3yyLtbyRTmstFcZif9PgcPI/kneYlh5iz555+7b + Ddgi86rIef1nJ7pzQNioJniI69kAe0SnFwTFiCgNllS1EbcAvxW4vTXZQH93LcGmXWJjCThGgaoL + 98pP2GhBB77zgo9bhIHyyyq/tx9U70j48KFuORfBstfnoATWBZ1ffFf3lB9zxj0vlI71DJKSvgkM + CI75I6sFOiDBKPE1n45373l1fslyQYJcKbqesQGt5brtte0KIPqaaRN4XfrPxnv5a17+i6y4tfvd + N375FQNrNFD0QNxdGW7ViKcyoOB+VynKn4LqsD2MgHgsMppqzB/5LtAeTJ0F0tyNYFynHkHuY7ir + TYNFdtoOnRCsavY5gtpDa4x1HfTftFAT91VbPw86ARtuVt99zpbRfiVv+itwhdkHuTxQ1Z5M7e9U + cQ0HXgvoaqccsU6vft3ZFmy3uwHmcPu8fsg6kOW0Qp+oQcPchztUgYBf40rH13KPofPPqr1vSLZC + nVYoI8HAvNGcMq6oBUclWWRwCTEEVIMRecb6WAOr4ShoAV4p1cmpjrxeth71MjE18DL2ZJ8tTdDu + 5e1K7O7ufU7+50Ervh3p9OLiFP25LYk/0ek5v7i2ZcE9RoERvrLLCKqcbI9R4ESB3W2BhsXa/n4O + /CtjUFBUbfAbfeUA5Z1/1nuP1pCwSuwErnobV91QjlPA0S2VXctVHM4aZWi5lRr0ieJ/9Mb3VXcn + 16u1iMbmnFh8kcu8NTeY6y2zgRd6+QkeOtIhn/UsBu07HxNAOGBDnfFOTq75C2xnXXYGcXDZrVx7 + hWyb5UDowoMvPbyGmEBUMNiwShuV/uSpD6n/nVo/cJo3ucrujdjpZ6/FjjL/Tmj/5R9hl2cid0dR + /N4ZP7DGN2xFuG4WC41arViXi7Lr2DxU5GKj5fkz6wr9pglbx1c8jAPyKe09NMts8wPMoZ+v5x7+ + WbsvbnhqPp9s0Pi2TIee7VTng0p6Eu9K5afEZs1p/yKyBEVkR12axsT82l0+zPiZNG7VUhB9Vcu0 + CHUL+iVH3/YJozZ1zRlxFHazENsmNmoYqLSq7rWpKVdMk+1yKqs2KlkqJFUrBgJWQpmCIMrBb85F + yBNoV1CglDZAHTAnNWzYGp7SZxPr04vndfEV/WZz4c8cPr/lLHtPCGZ63UOdNhgcELntpAjsrxAf + MUnhmKXhJedDeJYIP7nOxjMxQUx7eXEfN+ENHrh2rA7rJgxn8sVe/nsolVM7y3aqm8tUEposCfjn + UYpRXdJaojjO2HeZuvi0B0pBKKHQxXSJ5OkAGEwop+Ml1dv8gil3W6FhoUGXBDCjcqijQJb0RqUe + fZXgGSg6kKZ70/6THaFP2Il+S+G/P6pIohgTpGSEKseIKpm/Ul+/PUqVpCiqopLQD0QVogntbu+2 + 35rUzD1Qhdo7VMB8F2OOGkTMTGfJpAYWM7oItZeoCIkIbYHyNEZ+AhPJdL5+1jGtQYQlYaf3cJG/ + P4LAAQqZdDZCkGNEkHEi8aPZE/oZpVZ+/jE0DkGQeOZiYT60HBUvZiOlvweCtE0TlaaGsbhEvNxR + +oNqLGhrDS/mVLsVYtluIcT1u9lN03bQnTmeathCd4oFeRvqplegkGFEqBJ6yv+daXh/pElk07Gs + EI+Q5hiRRpq3+mY8kbTi93LmsX97ENKIF9PH6kjsPAz18f0+eRquvTUb1VSsq64ut7H2ZEPcL1vn + qLFEOXZeAKi2jI0R1XnwyCuaRkZYQ/mp46CKPqa67dif3IXyaE6p5TW+fI6L2SsH3ZjU/i7mdLmQ + GOvnzjL7ZDC1mNt/b9h4SPgfRhgVUlmObQI/wI9KxmOJdIRuR4lus2pbESzZambwTbE9ix+EbsJF + rzt7djr1ccn5Ku+BblVTu0SNOZx/USWOjWRzxPasoY6CHQgJcoZhLlgqQSNkTJu1FKbR+QXqcK5c + mV68H/NEJih+C7bKwfKBG7Rr1DJMizaMvKuwivCek/NBPlc8iu6OEpX+EgtjIdPr1+qSmU8IpUNq + YzS6a6hi924oyd2k9GMPVJJNA2sD1Lam+pjlJ2xqTonNSCWo0cM6RhubciutSisCmLBz+pNy/gAP + RsjEpLQQYcUxYkWqMch9fehWM2Kpp7WV5IG55CpOdmq12eOTftfYAytaNbl8ySq0vAhro5yDmuyo + QHRHBoSqqYoNKMrSC1CdzY2x5QDzhVpFOAUqgo2w03u4yN8fQZJSMpaUxAhBjhFBxvpSKlZVrZVO + t4SlmA+/+zsIIePmNKvcpL41J2p5DwjxjilCBaKRnqU61H8m2ozqt4zRDdAmQdHnkBQYMoWGIuuQ + sTwi9Ag7tQdJ+wPK2EkpJmSi5MlRAofkqKlJV6zrtzflli7lDkwN3+JGtZs2OumOONkDNzqKiS95 + WK0uCbjH7LzeAtAyiMHzflSdtQgjws7i3pL9gFAknY1lExGt5SjxIOl0pB6eTGzh22OiUBEOwoPE + Ra3+o+I81rXUk6TugQdN+M/tNCSbGlliDbS0wRkUeQtOeIKsm6lTm2fbjLTFDwqrqoypBbauZJrs + kFF9HJHlQk/0Wwr/A1AlQb2MeJTgOEpUER9IYta/yQqpxbCQeq4clAwVLjC5bzeH7UT/ed7bB1Wo + nbtEBeov18kcToVowfkDZcIrj0CqgOojqHHbBFq5MSLrAwcZN52+lz1coAJ1tdV+BC2hZ/vNZ+AD + 8EVKxURBOn58+RsAAP//tZ1tc5pAEMff+ynsvbAwIoo2yRiHdJI0M81M81A16bRvHARs7CgYQGNq + /O69vT2OO9A8OX0T4TiWu2VdjiT7/4mqJakM/N0Gt1dT7TzWO+uod3112bvqihoskNc+u+wrRVjv + to8uFdWqkfsnBmWfgb83GvpDUa/6Uo2qWigq4VEGTL9jwFS4fCPUV+ORRuDX/ACJ8sgHGyyGo6y0 + EoooUeiL5iTgLTdrnr8gRmiHn8NDEiOKqA8V3EZgb6Oofjm/JXonAKmu0AhMVjZtpnoCNnGGcTiZ + Jz4Rx0Dqyia1drs9W0KrUsCpXgSuDSJeGqkEw3jWIbpuKMNXTg50YyPoBRwR4ERDu2HbgelOxtTC + V5aXO0n0uFq78I+0mqevOPuiUpEgGMqORhwPpVJq4GqUeyGGp699LTSS/ACRNpEOcL02rIM9+lFS + 71eGM46x2Qd2CowYo3wwBgqe1Wh/andKgAXJ+pVtG6t4IRzk3s3W3n6rU1ozMzQ/+hFo9BE2X+qR + tEUMlzXQFkMKGjsNGt5bT+5A3iXrwB3nL12fyTLoq4JdgTyEJG1ohBrlfZ6enrtUpVIc4033m75O + W/mnGc+HNPFqDeOAQVnYdF0V6buF/NspQUeTuetj5A6gyvkZRpHVYBdg52yHQbLDWDidqQZGNEpj + 6uIFF1JF/UA/WoBEG3tUPdikKm5flVTod6TKR0f36LqkqmUkDwnlQQ/yxUY1hcXQ8PejH9ColFKn + G9wN/FvA+ullakbESJVvQYF3JYs0G9yT7fKZqoXk6HwVvJlT/CtkPr3DTlG+y2CagT0Y3IP+LGrx + bSxWps9h+GNnHj8BGXyMfVLaBijOhwnHdeBmEdcxsjYomI+aQsxbbm1l9c/qKgaN196NoijU+XKD + b4NJ5KRvZtF44biPiJG47p7fHp/+fDvJIGeUjmoao8n+Wfeit7NBb+o6aO/LxenxzuYWKK+PFns3 + Jxfn/TKrs87L1kiLFYVhksUT3wKxEbgZR+maRjqCG7mllFL83srxXSxJEdVCuEt+Rv+pRr71Kj38 + 1gY9fDEwvnwBlcjvcydIXIc+HVPc90urGsaDv2dUIsgdYpOjXtVFD3QGNNer6L7QcQc2u+/OQeM1 + 47P7NEVzRPs9TBOTOKRztotodnZRNTOyJv7UKDgAE2fszpI30njhlK1qp3BJg1kVaTR1LAdFle4d + 100OyazmelbTuTz9+zD45ZwQlnglPFKmTyGrmjIh8PS1uU7fiJf0eZBzCmus5+ybv8cjUpZkg9NX + 5IZ4c27wd2URSqQOGCaMMUkvQ5CbsphL0piT2dICLV2vs1SbMA2PFMCHAD8HG4dhkoTTkgQElF1R + oHfxyMa7zV0ROZ4Tma7v+csxKoJYdbp62G/wIyoTexsATEunqeOVxKy3ilJvxGkFsXmXTCfA05L4 + V6S00embZI8WQJobT0BvmytlSSrsm+7FK+ZSR5IWfaeiQzsq/QNjmGvGgpEAAA== + headers: + Accept-Ranges: [bytes] + Age: ['123'] + Connection: [keep-alive] + Content-Encoding: [gzip] + Content-Length: ['8368'] + Content-Type: [text/html] + Date: ['Sun, 29 Oct 2017 12:25:13 GMT'] + Server: [Apache] + Vary: [Accept-Encoding] + Via: [1.1 varnish] + X-Varnish: [2618750061 2618740007] + status: {code: 200, message: OK} +version: 1 diff --git a/tests/test_mime_parsers.py b/tests/test_mime_parsers.py index a1d98de..d9f64a5 100644 --- a/tests/test_mime_parsers.py +++ b/tests/test_mime_parsers.py @@ -70,10 +70,14 @@ URLS = OrderedDict([ re.compile('https://(.*)\.cloudfront\.net/videos/15694926/52450725.mp4(.*)'), 'video/mp4', marks=pytest.mark.xfail(reason="vidme API appears to have changed format"))), - ('liveleak_video', ( + ('liveleak_video_1', ( 'https://www.liveleak.com/view?i=08b_1499296574', re.compile('https://cdn\.liveleak\.com/(.*)\.mp4(.*)'), 'video/mp4')), + ('liveleak_video_2', ( + 'https://www.liveleak.com/view?i=cad_1487311993', + re.compile('www\.youtube\.com/embed/D4GrlOMlOBY'), + 'video/x-youtube')), ('reddit_gif', ( 'https://v.redd.it/wkm9zol8c6fz', 'https://v.redd.it/wkm9zol8c6fz/DASH_600_K', @@ -122,6 +126,14 @@ URLS = OrderedDict([ 'https://www.flickr.com/photos/obamawhitehouse/8191317327/', 'https://c1.staticflickr.com/9/8065/8191317327_5180e95d98_b.jpg', 'image/jpeg')), + ('worldstar_1', ( + 'http://www.worldstarhiphop.com/videos/video.php?v=wshh09DUN5MeDK2El4sO', + 'https://hw-videos.worldstarhiphop.com/u/vid/2017/10/4OnndgEmNSME.mp4', + 'video/mp4')), + ('worldstar_2', ( + 'http://www.worldstarhiphop.com/videos/video.php?v=wshhJ6bVdAv0iMrNGFZG', + 'http://www.youtube.com/embed/Bze53qwHS8o?autoplay=1', + 'video/x-youtube')), ])