Add mime parser: clippituser.tv
This commit is contained in:
@@ -151,15 +151,15 @@ class RedditVideoMIMEParser(BaseMIMEParser):
|
|||||||
|
|
||||||
|
|
||||||
class ImgurApiMIMEParser(BaseMIMEParser):
|
class ImgurApiMIMEParser(BaseMIMEParser):
|
||||||
"""
|
"""
|
||||||
Imgur now provides a json API exposing its entire infrastructure. Each Imgur
|
Imgur now provides a json API exposing its entire infrastructure. Each Imgur
|
||||||
page has an associated hash and can either contain an album, a gallery,
|
page has an associated hash and can either contain an album, a gallery,
|
||||||
or single image.
|
or single image.
|
||||||
|
|
||||||
The default client token for RTV is shared among users and allows a maximum
|
The default client token for RTV is shared among users and allows a maximum
|
||||||
global number of requests per day of 12,500. If we find that this limit is
|
global number of requests per day of 12,500. If we find that this limit is
|
||||||
not sufficient for all of rtv's traffic, this method will be revisited.
|
not sufficient for all of rtv's traffic, this method will be revisited.
|
||||||
|
|
||||||
Reference:
|
Reference:
|
||||||
https://apidocs.imgur.com
|
https://apidocs.imgur.com
|
||||||
"""
|
"""
|
||||||
@@ -321,7 +321,7 @@ class TwitchMIMEParser(BaseMIMEParser):
|
|||||||
return url, None
|
return url, None
|
||||||
|
|
||||||
|
|
||||||
class OddshotIMEParser(OpenGraphMIMEParser):
|
class OddshotMIMEParser(OpenGraphMIMEParser):
|
||||||
"""
|
"""
|
||||||
Oddshot uses the Open Graph protocol
|
Oddshot uses the Open Graph protocol
|
||||||
"""
|
"""
|
||||||
@@ -375,9 +375,24 @@ class LiveleakMIMEParser(BaseMIMEParser):
|
|||||||
else:
|
else:
|
||||||
return url, None
|
return url, None
|
||||||
|
|
||||||
|
class ClippitUserMIMEParser(BaseMIMEParser):
|
||||||
|
"""
|
||||||
|
"""
|
||||||
|
pattern = re.compile(r'https?://(www\.)?clippituser\.tv/c/.+$')
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_mimetype(url):
|
||||||
|
page = requests.get(url)
|
||||||
|
soup = BeautifulSoup(page.content, 'html.parser')
|
||||||
|
tag = soup.find(id='jwplayer-container')
|
||||||
|
quality = ['data-{}-file'.format(_) for _ in ['hd', 'sd']]
|
||||||
|
return tag.get(quality[0]), 'video/mp4'
|
||||||
|
|
||||||
|
|
||||||
# Parsers should be listed in the order they will be checked
|
# Parsers should be listed in the order they will be checked
|
||||||
parsers = [
|
parsers = [
|
||||||
OddshotIMEParser,
|
ClippitUserMIMEParser,
|
||||||
|
OddshotMIMEParser,
|
||||||
StreamableMIMEParser,
|
StreamableMIMEParser,
|
||||||
VidmeMIMEParser,
|
VidmeMIMEParser,
|
||||||
InstagramMIMEParser,
|
InstagramMIMEParser,
|
||||||
|
|||||||
95
tests/cassettes/test_parser[clippituser].yaml
Normal file
95
tests/cassettes/test_parser[clippituser].yaml
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
interactions:
|
||||||
|
- request:
|
||||||
|
body: null
|
||||||
|
headers:
|
||||||
|
Accept: ['*/*']
|
||||||
|
Accept-Encoding: ['gzip, deflate']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
User-Agent: [python-requests/2.18.4]
|
||||||
|
method: GET
|
||||||
|
uri: https://www.clippituser.tv/c/edqqld
|
||||||
|
response:
|
||||||
|
body:
|
||||||
|
string: !!binary |
|
||||||
|
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
|
||||||
|
X8aPNuuMFPKI8kBd3njx/xuIGq6OMQAA
|
||||||
|
headers:
|
||||||
|
Age: ['22761']
|
||||||
|
Connection: [keep-alive]
|
||||||
|
Content-Encoding: [gzip]
|
||||||
|
Content-Length: ['3843']
|
||||||
|
Content-Type: [text/html; charset=utf-8]
|
||||||
|
Date: ['Sun, 27 Aug 2017 11:43:57 GMT']
|
||||||
|
Server: [nginx/1.4.6 (Ubuntu)]
|
||||||
|
Via: [1.1 d784ab98a21beb476de2ec8d5824cf82.cloudfront.net (CloudFront)]
|
||||||
|
X-Amz-Cf-Id: [5YJDFY6B-VxV3Ilh6E-EPqV4FBEU_5yr-N6TqUFpLAJ3SmJ4SlBSqg==]
|
||||||
|
X-Cache: [Hit from cloudfront]
|
||||||
|
X-Sentry-ID: [None]
|
||||||
|
status: {code: 200, message: OK}
|
||||||
|
version: 1
|
||||||
@@ -89,6 +89,10 @@ URLS = OrderedDict([
|
|||||||
'https://oddshot.tv/s/5wN6Sy',
|
'https://oddshot.tv/s/5wN6Sy',
|
||||||
'https://oddshot.akamaized.net/m/render-captures/source/Unknown-YjBkNTcwZWFlZGJhMGYyNQ.mp4',
|
'https://oddshot.akamaized.net/m/render-captures/source/Unknown-YjBkNTcwZWFlZGJhMGYyNQ.mp4',
|
||||||
'video/mp4')),
|
'video/mp4')),
|
||||||
|
('clippituser', (
|
||||||
|
'https://www.clippituser.tv/c/edqqld',
|
||||||
|
'https://clips.clippit.tv/edqqld/720.mp4',
|
||||||
|
'video/mp4')),
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user