Allow assrt to fetch subtitles through only ISO 639-2

This commit should fix issue #460
This commit is contained in:
dimo 2019-11-30 18:11:00 +08:00
parent 9005077793
commit d4a74581da
13 changed files with 9264 additions and 13 deletions

View File

@ -10,8 +10,8 @@ class AssrtConverter(LanguageReverseConverter):
u'英文': ('eng',),
u'chs': ('zho', None, 'Hans'), u'cht': ('zho', None, 'Hant'),
u'chn': ('zho', None, 'Hans'), u'twn': ('zho', None, 'Hant')}
self.to_assrt = { ('zho', None, 'Hans'): u'chs', ('zho', None, 'Hant'): u'cht', ('eng',) : u'eng',
('zho',): u'chs'}
self.to_assrt = { ('zho', None, 'Hans'): u'chs', ('zho', None, 'Hant'): u'cht',
('eng', None, None) : u'eng', ('zho', None, None): u'chs'}
self.codes = set(self.from_assrt.keys())
def convert(self, alpha3, country=None, script=None):

View File

@ -23,6 +23,20 @@ language_converters.register('assrt = subliminal_patch.converters.assrt:AssrtCon
server_url = 'https://api.assrt.net/v1'
supported_languages = list(language_converters['assrt'].to_assrt.keys())
def language_contains(subset, superset):
if subset.alpha3 != superset.alpha3:
return False
if superset.country != None and subset.country != superset.country:
return False
if superset.script != None and subset.script != superset.script:
return False
return True
def search_language_in_list(lang, langlist):
for l in langlist:
if language_contains(lang, l):
return l
return None
class AssrtSubtitle(Subtitle):
"""Assrt Sbutitle."""
@ -46,6 +60,7 @@ class AssrtSubtitle(Subtitle):
if self._detail:
return self._detail
params = {'token': self.token, 'id': self.id}
logger.info('Get subtitle detail: GET /sub/detail %r', params)
r = self.session.get(server_url + '/sub/detail', params=params, timeout=10)
r.raise_for_status()
@ -55,9 +70,7 @@ class AssrtSubtitle(Subtitle):
# first pass: guessit
for f in files:
logger.info('File %r', f)
guess = guessit(f['f'], self.guessit_options)
logger.info('GuessIt %r', guess)
langs = set()
if 'language' in guess:
langs.update(guess['language'])
@ -71,7 +84,6 @@ class AssrtSubtitle(Subtitle):
codes = language_converters['assrt'].codes
for f in files:
langs = set([ Language.fromassrt(k) for k in codes if k in f['f'] ])
logger.info('%s: %r', f['f'], langs)
if self.language in langs:
self._defail = f
return f
@ -127,18 +139,15 @@ class AssrtProvider(Provider):
query = ' '.join(keywords)
params = {'token': self.token, 'q': query, 'is_file': 1}
logger.debug('Searching subtitles %r', params)
logger.debug('Searching subtitles: GET /sub/search %r', params)
res = self.session.get(server_url + '/sub/search', params=params, timeout=10)
res.raise_for_status()
result = res.json()
if result['status'] != 0:
logger.error('status error: %r', r)
logger.error('status error: %r', result['status'])
return []
if not result['sub']['subs']:
logger.debug('No subtitle found')
# parse the subtitles
pattern = re.compile(r'lang(?P<code>\w+)')
subtitles = []
@ -149,8 +158,9 @@ class AssrtProvider(Provider):
match = pattern.match(key)
try:
language = Language.fromassrt(match.group('code'))
if language in languages:
subtitles.append(AssrtSubtitle(language, sub['id'], sub['videoname'], self.session, self.token))
output_language = search_language_in_list(language, languages)
if output_language:
subtitles.append(AssrtSubtitle(output_language, sub['id'], sub['videoname'], self.session, self.token))
except:
pass
@ -160,7 +170,6 @@ class AssrtProvider(Provider):
return self.query(languages, video)
def download_subtitle(self, subtitle):
logger.info('Downloading subtitle %r', subtitle)
r = self.session.get(subtitle.download_link, timeout=10)
r.raise_for_status()

View File

@ -0,0 +1,605 @@
interactions:
- request:
body: null
headers:
User-Agent:
- Sub-Zero/2
method: GET
uri: https://api.assrt.net/v1/sub/search?q=%5B%27The+Big+Bang+Theory+S07E05%27%5D&token=SECRET&is_file=%5B%271%27%5D
response:
body:
string: "{\"status\":0,\"sub\":{\"keyword\":\"The Big Bang Theory S07E05\",\"\
result\":\"succeed\",\"subs\":[{\"subtype\":\"Subrip(srt)\",\"id\":618200,\"\
lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"langchs\":true}},\"vote_score\"\
:0,\"upload_time\":\"2018-01-26 19:23:52\",\"native_name\":\"\u5929\u624D\u7406\
\u8BBA\u4F20\u7B2C7\u5B63\u516824\u96C6The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264\"\
,\"videoname\":\"The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264\",\"release_site\"\
:\"\u4F0A\u7538\u56ED\",\"revision\":0},{\"upload_time\":\"2014-12-06 04:13:43\"\
,\"subtype\":\"Subrip(srt)\",\"id\":316965,\"native_name\":\"\u751F\u6D3B\u5927\
\u7206\u70B8 \u7B2C\u4E03\u5B63 \u7B2C 5 \u96C6\",\"videoname\":\"The Big\
\ Bang Theory S07E05 720p HDTV X264-DIMENSION\",\"revision\":0,\"vote_score\"\
:0},{\"upload_time\":\"2014-12-06 04:13:43\",\"subtype\":\"Subrip(srt)\",\"\
id\":316966,\"native_name\":\"\u751F\u6D3B\u5927\u7206\u70B8 \u7B2C\u4E03\u5B63\
\ \u7B2C 5 \u96C6\",\"videoname\":\"The Big Bang Theory S07E05 720p HDTV X264-DIMENSION\"\
,\"revision\":0,\"vote_score\":0},{\"upload_time\":\"2014-11-02 10:41:05\"\
,\"subtype\":\"SSA\",\"revision\":0,\"id\":264973,\"lang\":{\"desc\":\"\u53CC\
\u8BED\",\"langlist\":{\"langdou\":true}},\"videoname\":\"The.Big.Bang.Theory.S07E05.720p.BluRay.x264-DEMAND\"\
,\"native_name\":\"The Big Bang Theory S07\\/\u751F\u6D3B\u5927\u7206\u70B8\
\ \u7B2C\u4E03\u5B63\\/The Big Bang Theory Season 07\",\"vote_score\":80},{\"\
upload_time\":\"2014-08-30 05:11:21\",\"subtype\":\"Subrip(srt)\",\"revision\"\
:0,\"id\":261680,\"lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"langchs\":true}},\"\
videoname\":\"The.Big.Bang.Theory.S07.720p.BluRay.x264-DEMAND\",\"native_name\"\
:\"\u751F\u6D3B\u5927\u7206\u70B8 \u7B2C\u4E03\u5B63\\/\u5929\u624D\u7406\u8BBA\
\u4F20\",\"vote_score\":0},{\"upload_time\":\"2013-10-19 03:34:04\",\"subtype\"\
:\"Subrip(srt)\",\"revision\":0,\"id\":244659,\"lang\":{\"desc\":\"\u82F1\
\ \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\":true,\"langcht\"\
:true}},\"videoname\":\"The Big Bang Theory S07E05 the.big.bang.theory.705.hdtv-lol\"\
,\"native_name\":\"\u5929\u624D\u7406\u8BBA\u4F20\\/\u751F\u6D3B\u5927\u7206\
\u70B8 \u7B2C\u4E03\u5B63\u7B2C\u4E94\u96C6\",\"vote_score\":0},{\"upload_time\"\
:\"2013-10-18 23:33:24\",\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\"\
:244640,\"lang\":{\"desc\":\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\",\"langlist\"\
:{\"langcht\":true,\"langeng\":true,\"langdou\":true,\"langchs\":true}},\"\
videoname\":\"\u751F\u6D3B\u5927\u7206\u70B8\\/The Big Bang Theory S07E05\\\
/\u7B2C\u4E03\u5B63\u7B2C5\u96C6\\/\u5723\u57CE\u5BB6\u56ED\u53CC\u8BED\u5B57\
\u5E55 the.big.bang.theory.705.hdtv-lol\",\"native_name\":\"\",\"vote_score\"\
:0},{\"upload_time\":\"2013-10-18 22:15:16\",\"subtype\":\"SSA\",\"revision\"\
:0,\"id\":244632,\"lang\":{\"desc\":\"\u82F1 \u7B80\",\"langlist\":{\"langchs\"\
:true,\"langeng\":true}},\"videoname\":\"The.Big.Bang.Theory.S07E05.720p.HDTV.X264-DIMENSION\"\
,\"native_name\":\"\u5929\u624D\u7406\u8BBA\u4F20\\/The Big Bang Theory S07E05\u751F\
\u6D3B\u5927\u7206\u70B8 \u7B2C\u4E03\u5B63\u7B2C\u4E94\u96C6\u3010\u8C22\u8033\
\u6735\u5B57\u5E55\u7EC4\u3011\",\"vote_score\":0},{\"upload_time\":\"2013-10-18\
\ 21:31:21\",\"subtype\":\"\u5176\u4ED6\",\"revision\":0,\"id\":244630,\"\
lang\":{\"desc\":\"\",\"langlist\":{}},\"videoname\":\"\u751F\u6D3B\u5927\u7206\
\u70B8 \u7B2C7\u96C6\u7B2C5\u96C6 720P\",\"native_name\":\"\",\"vote_score\"\
:0},{\"upload_time\":\"2013-10-18 20:46:57\",\"subtype\":\"\u5176\u4ED6\"\
,\"revision\":0,\"id\":244624,\"lang\":{\"desc\":\"\u82F1 \u7B80 \u7E41\"\
,\"langlist\":{\"langeng\":true,\"langchs\":true,\"langcht\":true}},\"videoname\"\
:\"\u751F\u6D3B\u5927\u7206\u70B8\u7B2C\u4E03\u5B63\u7B2C5\u96C6\",\"native_name\"\
:\"The Big Bang Theory S07E05\",\"vote_score\":0},{\"subtype\":\"Subrip(srt)\"\
,\"id\":585062,\"lang\":{\"desc\":\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\",\"\
langlist\":{\"langcht\":true,\"langeng\":true,\"langdou\":true,\"langchs\"\
:true}},\"vote_score\":0,\"upload_time\":\"2013-10-17 17:31:00\",\"native_name\"\
:\"\u751F\u6D3B\u5927\u7206\u70B8 \u7B2C7\u96C6\u7B2C5\u96C6\",\"videoname\"\
:\"The Big Bang Theory S07E05\",\"release_site\":\"\u4EBA\u4EBA\u5F71\u89C6\
YYeTs\",\"revision\":0}],\"action\":\"search\"}}\n"
headers:
access-control-allow-origin:
- '*'
connection:
- keep-alive
content-type:
- application/json
date:
- Sat, 30 Nov 2019 07:14:41 GMT
server:
- nginx
transfer-encoding:
- chunked
vary:
- Accept-Encoding
status:
code: 200
message: OK
- request:
body: null
headers:
User-Agent:
- Sub-Zero/2
method: GET
uri: https://api.assrt.net/v1/sub/detail?token=SECRET&id=%5B%27618200%27%5D
response:
body:
string: "{\"status\":0,\"sub\":{\"result\":\"succeed\",\"subs\":[{\"id\":618200,\"\
filelist\":[{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\/-\\\
/1\\/The.Big.Bang.Theory.S07E01.The.Hofstadter.Insufficiency.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=dc994ecdf3a6a02a2651950fb52956d5&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E01.The.Hofstadter.Insufficiency.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"20KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/2\\/The.Big.Bang.Theory.S07E02.The.Deception.Verification.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=3d7591f8ce42e96aae82d6565f45847f&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E02.The.Deception.Verification.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"25KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/3\\/The.Big.Bang.Theory.S07E03.The.Scavenger.Vortex.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=b243d9b5ea70772b40af9e1399c3dce2&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E03.The.Scavenger.Vortex.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"25KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/4\\/The.Big.Bang.Theory.S07E04.The.Raiders.Minimization.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=0b6f5092475eeb0e24442658271cc8a7&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E04.The.Raiders.Minimization.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"24KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/5\\/The.Big.Bang.Theory.S07E05.The.Workplace.Proximity.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=f2aed4f15f4806f96780aafe2b2aed71&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E05.The.Workplace.Proximity.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"19KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/6\\/The.Big.Bang.Theory.S07E06.The.Romance.Resonance.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=8f6888f21277235187af784756188bd7&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E06.The.Romance.Resonance.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"24KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/7\\/The.Big.Bang.Theory.S07E07.The.Proton.Displacement.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=90d234aed204bdef9a3e2d699e1a3f11&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E07.The.Proton.Displacement.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"20KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/8\\/The.Big.Bang.Theory.S07E08.The.Itchy.Brain.Simulation.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=e65fd7846fcdf3fb1c12c4d81bae4600&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E08.The.Itchy.Brain.Simulation.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"20KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/9\\/The.Big.Bang.Theory.S07E09.The.Thanksgiving.Decoupling.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=56aa3deed2441fc3ba57501e44240739&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E09.The.Thanksgiving.Decoupling.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"21KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/10\\/The.Big.Bang.Theory.S07E10.The.Discovery.Dissipation.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=02740b8e5500328af67531babfba02ff&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E10.The.Discovery.Dissipation.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"24KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/11\\/The.Big.Bang.Theory.S07E11.The.Cooper.Extraction.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=4402626f09db033a2f1fd7cd9ac374d4&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E11.The.Cooper.Extraction.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"21KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/12\\/The.Big.Bang.Theory.S07E12.The.Hesitation.Ramification.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=24ebaf0165ab4b525419afb41aded7b6&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E12.The.Hesitation.Ramification.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"20KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/13\\/The.Big.Bang.Theory.S07E13.The.Occupation.Recalibration.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=44a96783c63e37c23504e203f3a963ee&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E13.The.Occupation.Recalibration.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"23KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/14\\/The.Big.Bang.Theory.S07E14.The.Convention.Conundrum.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=a581f9a7a58cd18fda8d29cbad3000b3&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E14.The.Convention.Conundrum.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"23KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/15\\/The.Big.Bang.Theory.S07E15.The.Locomotive.Manipulation.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=217c6ae8f48eba667d258b6448fe1022&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E15.The.Locomotive.Manipulation.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"22KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/16\\/The.Big.Bang.Theory.S07E16.The.Table.Polarization.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=ef0f11100e90ed343fe510418effaaf9&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E16.The.Table.Polarization.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"22KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/17\\/The.Big.Bang.Theory.S07E17.The.Friendship.Turbulence.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=63a6b5c214c15b380674315bc9a7a1ad&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E17.The.Friendship.Turbulence.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"21KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/18\\/The.Big.Bang.Theory.S07E18.The.Mommy.Observation.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN.srt?_=1575098081&-=21b5bfa881f07f4a9dcb04189b7f2666&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E18.The.Mommy.Observation.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN.srt\"\
,\"s\":\"22KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/19\\/The.Big.Bang.Theory.S07E19.The.Indecision.Amalgamation.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN.srt?_=1575098081&-=0d3cf082feb58e0c92ffe27bdc396fca&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E19.The.Indecision.Amalgamation.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN.srt\"\
,\"s\":\"21KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/20\\/The.Big.Bang.Theory.S07E20.The.Relationship.Diremption.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=79e8f4c5123eac1a33860e333a4056e8&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E20.The.Relationship.Diremption.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"22KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/21\\/The.Big.Bang.Theory.S07E21.The.Anything.Can.Happen.Recurrence.720p.WEB-DL.DD5.1.H.264.srt?_=1575098081&-=c8cf7d8354f11fe4ed919ed2428b9cb3&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E21.The.Anything.Can.Happen.Recurrence.720p.WEB-DL.DD5.1.H.264.srt\"\
,\"s\":\"19KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/22\\/The.Big.Bang.Theory.S07E22.The.Protron.Transmogrification.720p.WEB-DL.DD5.1.H.264.gb.srt?_=1575098081&-=874f8e01f5c910b365e1fa2dcb2633d3&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E22.The.Protron.Transmogrification.720p.WEB-DL.DD5.1.H.264.gb.srt\"\
,\"s\":\"22KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/23\\/The.Big.Bang.Theory.S07E23.The.Gorilla.Dissolution.720p.WEB-DL.DD5.1.H.264.gb.srt?_=1575098081&-=58925fc05efb7b49bf8caa65ec7e79a2&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E23.The.Gorilla.Dissolution.720p.WEB-DL.DD5.1.H.264.gb.srt\"\
,\"s\":\"23KB\"},{\"url\":\"http:\\/\\/file0.assrt.net\\/onthefly\\/618200\\\
/-\\/24\\/The.Big.Bang.Theory.S07E24.The.Status.Quo.Combustion.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN.gb.srt?_=1575098081&-=796e260c7590e4a5eb6e2a866de47111&api=1\"\
,\"f\":\"The.Big.Bang.Theory.S07E24.The.Status.Quo.Combustion.720p.WEB-DL.DD5.1.AAC2.0.H.264-YFN.gb.srt\"\
,\"s\":\"26KB\"}],\"url\":\"http:\\/\\/file0.assrt.net\\/download\\/618200\\\
/The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264.zip?_=1575098081&-=b56a01003b604bdd203ef305f3b49287&api=1\"\
,\"release_site\":\"\u4F0A\u7538\u56ED\",\"revision\":0,\"filename\":\"The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264.zip\"\
,\"subtype\":\"Subrip(srt)\",\"lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"\
langchs\":true}},\"videoname\":\"The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264\"\
,\"vote_score\":0,\"upload_time\":\"2018-01-26 19:23:52\",\"title\":\"\u5929\
\u624D\u7406\u8BBA\u4F20\u7B2C7\u5B63\u516824\u96C6The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264\"\
,\"view_count\":1020,\"native_name\":\"\u5929\u624D\u7406\u8BBA\u4F20\u7B2C\
7\u5B63\u516824\u96C6The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264\",\"\
producer\":{\"source\":\"\u539F\u521B\u7FFB\u8BD1\",\"verifier\":\"\",\"producer\"\
:\"\",\"uploader\":\"\"},\"size\":247871,\"down_count\":309}],\"action\":\"\
detail\"}}\n"
headers:
access-control-allow-origin:
- '*'
connection:
- keep-alive
content-type:
- application/json
date:
- Sat, 30 Nov 2019 07:14:41 GMT
server:
- nginx
transfer-encoding:
- chunked
vary:
- Accept-Encoding
status:
code: 200
message: OK
- request:
body: null
headers:
User-Agent:
- Sub-Zero/2
method: GET
uri: http://file0.assrt.net/onthefly/618200/-/1/The.Big.Bang.Theory.S07E01.The.Hofstadter.Insufficiency.720p.WEB-DL.DD5.1.H.264.srt?api=%5B%271%27%5D&-=%5B%27dc994ecdf3a6a02a2651950fb52956d5%27%5D&_=%5B%271575098081%27%5D
response:
body:
string: !!binary |
MQ0KMDA6MDA6MTAsMDAwIC0tPiAwMDowMDoxMiw2MDANClNoZWxkb24gz9bU2rK7ysfBxMzstcS6
w8qxuvIhDQoNCjINCjAwOjAwOjEyLDYwMCAtLT4gMDA6MDA6MTQsMDcwDQrE48/ruMnC8D8NCg0K
Mw0KMDA6MDA6MTQsMDcwIC0tPiAwMDowMDoyMCwwNzANCsTjusPRvSCxp8e4ILWr1eLKwrrc1tjS
qg0KDQo0DQowMDowMDoyMCwwNzAgLS0+IDAwOjAwOjIxLDcxMA0KybbKwj8NCg0KNQ0KMDA6MDA6
MjEsNzEwIC0tPiAwMDowMDoyNiwxODANCiK72LW9zrTAtCK12rb+sr+1xLX6xqwNCtewtb212sj9
sr+1xLrQ19PA78HLDQoNCjYNCjAwOjAwOjI2LDE4MCAtLT4gMDA6MDA6MzEsODIwDQq2+CK72LW9
zrTAtCK12sj9sr+1xLX6xqwNCsXcvfjBy7Xatv6yv7XEutDX08DvDQoNCjcNCjAwOjAwOjMyLDI2
MCAtLT4gMDA6MDA6MzMsNzkwDQrL+dLUxNg/DQoNCjgNCjAwOjAwOjMzLDgwMCAtLT4gMDA6MDA6
MzgsOTMwDQrL+dLUINXiysfE47jJtcQNCru5ysfLtbzSwO/T0LHwyMu9+MC0wcs/DQoNCjkNCjAw
OjAwOjM5LDkwMCAtLT4gMDA6MDA6NDIsMDIwDQpTaGVsZG9uIM7StcO9+LLVwcsNCg0KMTANCjAw
OjAwOjQyLDAyMCAtLT4gMDA6MDA6NDQsODUwDQrN4sPmt+fAy9S9wLTUvbTzwcsNCg0KMTENCjAw
OjAwOjQ2LDAyMCAtLT4gMDA6MDA6NDgsOTQwDQrE49Tau9ix3M7KzOINCs7Svs3WqrXAysfE47jJ
tcQNCg0KMTINCjAwOjAwOjUyLDUzMCAtLT4gMDA6MDA6NTMsODgwDQrKssO0yfnS9D8NCg0KMTMN
CjAwOjAwOjUzLDg4MCAtLT4gMDA6MDA6NTUsNDAwDQrKssO0yrLDtMn50vQ/DQoNCjE0DQowMDow
MDo1NSw0MDAgLS0+IDAwOjAwOjU2LDgyMA0K0MW6xcrHsrvMq7rDDQoNCjE1DQowMDowMDo1Niw4
MjAgLS0+IDAwOjAwOjU5LDk1MA0KtavM/cbwwLTP8crHDQrT0MjLsNG6o7nWuPi3xbP2wLTByw0K
DQoxNg0KMDA6MDA6NTYsODIwIC0tPiAwMDowMDo1OSw5NTENCntcYTd9KLP219Qi1u7J8dau1b0i
KQ0KDQoxNw0KMDA6MDE6MDAsNzQwIC0tPiAwMDowMTowNCw5NjANCrrDwcsgztK50rXnu7DByw0K
DQoxOA0KMDA6MDE6MDQsOTYwIC0tPiAwMDowMTowNiw2NjANCsTj1qq1wMTHtqvO97j5sb6yuy4u
Lg0KDQoxOQ0KMDA6MDE6MDksNDEwIC0tPiAwMDowMToxMiwyMjANCrK7IQ0KDQoyMA0KMDA6MDE6
MTIsMjIwIC0tPiAwMDowMToxNiw3NTANClBlbm55IFBlbm55IFBlbm55IQ0KDQoyMQ0KMDA6MDE6
MTYsNzUwIC0tPiAwMDowMToxOSwxNzANCtT1w7TByz8NCg0KMjINCjAwOjAxOjE5LDE3MCAtLT4g
MDA6MDE6MjQsNzEwDQq27i4uLsTHuPYuLi7O0rWj0MQNCsTju+HS8s6qz+vE7kxlb25hcmQNCg0K
MjMNCjAwOjAxOjI1LDc2MCAtLT4gMDA6MDE6MjgsNDgwDQq2+Nf22KzDzg0KDQoyNA0KMDA6MDE6
MjgsNDgwIC0tPiAwMDowMTozMyw5OTANCrHIyOfKx8Tjyc+0ssewv7S1xA0KItbuyfHWrtW9IsDv
tcTH6b3aDQoNCjI1DQowMDowMTozNCw3NDAgLS0+IDAwOjAxOjM3LDY2MA0Kx9ewrrXEIMTj1/bY
rMPOwcs/DQoNCjI2DQowMDowMTozOCw1MzAgLS0+IDAwOjAxOjQwLDExMA0Ky7XKtbuwIMO7tO0N
Cg0KMjcNCjAwOjAxOjQxLDA2MCAtLT4gMDA6MDE6NDUsNDEwDQoiu9i1vc60wLQitdq2/rK/tcS1
+sasDQqxu7fFvfi12sj9sr+1xLrQ19PA78HLDQoNCjI4DQowMDowMTo0NSw0MjAgLS0+IDAwOjAx
OjQ3LDUzMA0KysdMZW9uYXJkuMm1xA0KDQoyOQ0KMDA6MDE6NDcsNTQwIC0tPiAwMDowMTo0OCw1
MDANCs3tsLINCg0KMzANCjAwOjAxOjQ4LDUwMCAtLT4gMDA6MDE6NDksOTkwDQqx8CC1yLXIDQoN
CjMxDQowMDowMTo0OSw5OTAgLS0+IDAwOjAxOjU1LDYxMA0K0rLQ7c7S06a4w8uvxOPV4rb5DQrV
4tH5xOO+zbK7u+HMq8/rxO5MZW9uYXJkwcsNCg0KMzINCjAwOjAxOjU1LDYxMCAtLT4gMDA6MDE6
NTgsODQwDQrE49aqtcDE49Ta1eK3vcPmzabQocWuyfq1xA0KDQozMw0KMDA6MDI6MDMsMzAwIC0t
PiAwMDowMjowNSw4MDANCtXi0fnIt8q1xNzIw87SusPK3NCpDQoNCjM0DQowMDowMjowNSw4MDAg
LS0+IDAwOjAyOjA3LDY5MA0KLSDQu9C7DQotILK7v83G+A0KDQozNQ0KMDA6MDI6MTEsNjYwIC0t
PiAwMDowMjoxMyw4MTANCs3tsLINCg0KMzYNCjAwOjAyOjE1LDQ0MCAtLT4gMDA6MDI6MjEsMDMw
DQo8Zm9udCBjb2xvcj0iI2ZmZmYwMCI+LT3SwbXp1LDDwL7nICBodHRwOi8vYmJzLnNmaWxlMjAx
Mi5jb209LQ0KLT3SwbXp1LDX1sS71b4gIGh0dHA6Ly95dGV0Lm9yZy89LQ0KyNnT/rP2xrcNCrG+
19bEu732uanRp8+wvbvB96Os0c+9+9PD09rJzNK1zb6+tjwvZm9udD4NCg0KMzcNCjAwOjAyOjIx
LDEzMCAtLT4gMDA6MDI6MzEsNjYwDQo8Zm9udCBjb2xvcj0iI2ZmZmYwMCI+LT1ZVEVULdLBtenU
sNfWxLvX6T0tDQq3rdLrOiBELlm7xtChzcMgSG9sbGllIKH01tKpptiRqaafrSBlbGVxdWVudA0K
0KO21DogsKK5qw0KyrG85NbhOiCw7rXC1u0gPC9mb250Pg0KDQozOA0KMDA6MDI6MzMsMTYwIC0t
PiAwMDowMjozNSw1NTANCjxmb250IGNvbG9yPSIjZmZmZjAwIj7M7LLFwO3C27SrILXaxt+8viC1
2tK7vK8NCjcyMFAgaVR1bmVzIC0g19TAtPfcYWs8L2ZvbnQ+DQoNCjM5DQowMDowMjo0MSwyODAg
LS0+IDAwOjAyOjQ0LDU4MA0KztK+9bXDxOPM/bW91eK49rvhuN/Qy7XEDQq98dTn1NrNo7O1s6EN
Cg0KNDANCjAwOjAyOjQ0LDU4MCAtLT4gMDA6MDI6NDksNjAwDQrO0r+018W12MnPtcTTzdfVDQrQ
zte0vs3P8c7StcTHsMWu09FMdWN5DQoNCjQxDQowMDowMjo0OSw2MDAgLS0+IDAwOjAyOjUxLDY5
MA0KtvjO0s3qyKvDu9PQsa/Jy9O/yc/QxM23tcS40L71DQoNCjQyDQowMDowMjo1MSw2OTAgLS0+
IDAwOjAyOjUzLDM0MA0KztLOqsTjuNC1vb2+sMENCg0KNDMNCjAwOjAyOjUzLDM0MCAtLT4gMDA6
MDI6NTcsMTMwDQq1sci7wLIg0vLOqsv9vs3Su8PAyMvF39fTDQoNCjQ0DQowMDowMjo1NywxMzAg
LS0+IDAwOjAzOjAwLDQ2MA0KzOzExSEgxOPKx7j2zOzOxNGnvNINCg0KNDUNCjAwOjAzOjAwLDQ3
MCAtLT4gMDA6MDM6MDQsNjcwDQrSstDtxOO74dPQ0KmzvsrAtcTHo7DtDQq1q8Tj06a4w7DR0MTL
vLfFtb3M7Mzl0dC+v8nPyKUNCg0KNDYNCjAwOjAzOjA0LDY3MCAtLT4gMDA6MDM6MDksMjkwDQrJ
8bChIL7NwayxsM6itcTKur/HwMkNCra8u+HA+9PDzOzM5bnmwsnAtNbGtqjQ0L34wrfP3w0KDQo0
Nw0KMDA6MDM6MDksMjkwIC0tPiAwMDowMzoxMCw0NjANCtXmtcQ/DQoNCjQ4DQowMDowMzoxMCw0
NjAgLS0+IDAwOjAzOjEzLDI2MA0KztLL+dHUvLTKx9XmwO0NCg0KNDkNCjAwOjAzOjEzLDI2MCAt
LT4gMDA6MDM6MTcsNjEwDQq1sci7wLIgyrq/x8DJ0rLPsru2s9S34LHjDQrXodTat+Cx48DvDQoN
CjUwDQowMDowMzoxNyw2MjAgLS0+IDAwOjAzOjE5LDkzMA0KsNG34LHjufazydChx/LH8g0KDQo1
MQ0KMDA6MDM6MTksOTMwIC0tPiAwMDowMzoyNSw2MjANCsv50tTV4sG91tbJ+rvut73KvQ0KxOPX
1Ly60aHSu9bWsMkNCg0KNTINCjAwOjAzOjI2LDQ0MCAtLT4gMDA6MDM6MjgsMTIwDQqw3c3QIMTj
z9bU2sTcuPrFrsn6vbvMuMHLDQoNCjUzDQowMDowMzoyOCwxMzAgLS0+IDAwOjAzOjMwLDI4MA0K
srvE0dTZ1dK49tDCxa7T0bXEDQoNCjU0DQowMDowMzozMCwyODAgLS0+IDAwOjAzOjM0LDE4MA0K
ztLP1tTav7TJtra8s6TBy9XFTHVjecGzDQrV4tH5ztLU9cO01dLQwsWu09GwoT8NCg0KNTUNCjAw
OjAzOjM0LDE4MCAtLT4gMDA6MDM6MzksMjkwDQrE0bXAxOPDu9Ta1eLFzLymyOLFycnPDQq/tLW9
y/21xM6i0KbC8D8NCg0KNTYNCjAwOjAzOjM5LDI5MCAtLT4gMDA6MDM6NDEsMTQwDQrE48TcsrvE
3M/7zaO147ChIQ0KDQo1Nw0KMDA6MDM6NDUsNDYwIC0tPiAwMDowMzo0Niw3MTANCs/W1NogzP3O
0su1DQoNCjU4DQowMDowMzo0Niw3MTAgLS0+IDAwOjAzOjQ5LDA1MA0KvfHN7dPQuPbQwr36sqnK
v7rzu7bTrcXJttQNCg0KNTkNCjAwOjAzOjQ5LDA1MCAtLT4gMDA6MDM6NTMsOTAwDQrIpbLOvNMg
yLu689XSuPbIy8Dg1/bFrtPRDQoNCjYwDQowMDowMzo1Myw5MDAgLS0+IDAwOjAzOjU3LDI0MA0K
xOPAz8bFyse49sjLwODBy7K7xvCwoT8NCg0KNjENCjAwOjAzOjU5LDY0MCAtLT4gMDA6MDQ6MDMs
MzEwDQrM/dfFIEJlcm5pZbj6QW15DQrIpbLOvNPJ8b6tv8bRp7vh0unByw0KDQo2Mg0KMDA6MDQ6
MDMsMzEwIC0tPiAwMDowNDowNCw2OTANCs7SuPrE49K7xvDIpcXJttQNCg0KNjMNCjAwOjA0OjA0
LDcwMCAtLT4gMDA6MDQ6MDUsODUwDQotIMTj1LjS4sXjztI/DQotILWxyLsNCg0KNjQNCjAwOjA0
OjA1LDg1MCAtLT4gMDA6MDQ6MDcsMDgwDQrE48rHztLF89PRDQoNCjY1DQowMDowNDowNywwODAg
LS0+IDAwOjA0OjA4LDQ1MA0KztLPo837xOO/qtDEDQoNCjY2DQowMDowNDowOCw0NTAgLS0+IDAw
OjA0OjEwLDMzMA0K0LvQuyDEx8O0IFNoZWxkb24NCg0KNjcNCjAwOjA0OjEwLDM0MCAtLT4gMDA6
MDQ6MTEsODcwDQq8yMi7QW150rLIpb+qu+HByw0KxOPUuNLi0rvG8MC0wvA/DQoNCjY4DQowMDow
NDoxMSw4NzAgLS0+IDAwOjA0OjE3LDg3MA0KztLSss+jzfvE47+q0MQNCrWr1eKyu9fj0tS02cq5
ztLOqrTL1/bIzrrOysINCg0KNjkNCjAwOjA0OjIwLDU4MCAtLT4gMDA6MDQ6MjYsMTMwDQpIb3dp
ZSCx8NXi0fkg1eLDtMjiwum1xLuwDQrO0r2ysruz9r/aIEFtedTaxdSx38TYDQoNCjcwDQowMDow
NDoyNiwxMzAgLS0+IDAwOjA0OjMxLDUyMA0KU2hlbGRvbiCx8NXi0fkgztLU2cu11+6689K7sekN
Cs7Ssru74bDRtLLKrbT4u9jIpbXEDQoNCjcxDQowMDowNDozMSw1MjAgLS0+IDAwOjA0OjMyLDY3
MA0K1eLCw7ndutyw9A0KDQo3Mg0KMDA6MDQ6MzIsNjcwIC0tPiAwMDowNDozNCwzOTANCtPQ076z
2CDT0L2hye23vw0KDQo3Mw0KMDA6MDQ6MzQsMzkwIC0tPiAwMDowNDozNiwwMTANCr7GsMnSsrrc
sru07Q0KDQo3NA0KMDA6MDQ6MzYsMDEwIC0tPiAwMDowNDozOSw5MDANCtLyzqrO0r+0wcu0ssbM
DQrEx8nPw+bDu9PQtLLKrQ0KDQo3NQ0KMDA6MDQ6MzksOTAwIC0tPiAwMDowNDo0MSwyMDANCs7S
0rKwrsTjDQoNCjc2DQowMDowNDo0MSwyMDAgLS0+IDAwOjA0OjQ1LDQ4MA0KyOe5+8Tjy6/Xxcew
IMO709DM/bW9ztK1xMn50vQNCsTHztK74dPrxOPU2sPOwO/P4LvhtcQNCg0KNzcNCjAwOjA0OjQ1
LDQ5MCAtLT4gMDA6MDQ6NDYsNzQwDQrN7bCyDQoNCjc4DQowMDowNDo0Niw3NDAgLS0+IDAwOjA0
OjUwLDA0MA0KsrsgztKyu7vhv7zCx8uv1NrCw9DQtPzA77XEDQoNCjc5DQowMDowNDo1MywzOTAg
LS0+IDAwOjA0OjU3LDE2MA0KUGVubnkgxOPT0MO709DP67n9DQrQx7zKvaK207bTs6TKx8jnus4u
Li4NCg0KODANCjAwOjA0OjU3LDE3MCAtLT4gMDA6MDQ6NTksMzUwDQrDu9PQDQoNCjgxDQowMDow
NTowMSwxNzAgLS0+IDAwOjA1OjAzLDM5MA0KxMfP1tTaztK8pMbwxOO1xNDLyKTByw0KDQo4Mg0K
MDA6MDU6MDMsMzkwIC0tPiAwMDowNTowNiwzNDANCru2063AtLW9M0S5+rzKz/PG5bXEyfHG5srA
vecNCg0KODMNCjAwOjA1OjA2LDM0MCAtLT4gMDA6MDU6MDksNDgwDQrE47jJwvCyu7jJtOC147PQ
yM/Byw0KxOPP683m1eLTzs+31rvKx9LyzqouLi4NCg0KODQNCjAwOjA1OjA5LDQ4MCAtLT4gMDA6
MDU6MTIsMDEwDQrE49fcuPpMZW9uYXJk0rvG8M3mDQq2+MTjz9bU2rrcz+vL+z8NCg0KODUNCjAw
OjA1OjEyLDAxMCAtLT4gMDA6MDU6MTUsNTYwDQrE48yruN+5wMv71NrO0sn6w/zW0LXE1tjSqtDU
wcsNCg0KODYNCjAwOjA1OjE2LDgyMCAtLT4gMDA6MDU6MjEsMjIwDQrO0rvhz+vE7sv7ysfI57rO
DQrU2s7StcS7qrfysf3Jz9PDufu9tLut0KbBs7XEwvA/DQoNCjg3DQowMDowNToyMSwyMjAgLS0+
IDAwOjA1OjIyLDgxMA0KssWyu7vhxNgNCg0KODgNCjAwOjA1OjIyLDgxMCAtLT4gMDA6MDU6Mjgs
MDMwDQrO0rvhz+vE7sv7ysfI57rO0N66ww0KztKxu7+o16G1xLzQv8vArcG0tcTC8D8NCg0KODkN
CjAwOjA1OjI4LDAzMCAtLT4gMDA6MDU6MzAsMTEwDQrO0r/JsrvV4sO0vvW1ww0KDQo5MA0KMDA6
MDU6MzAsMTEwIC0tPiAwMDowNTozNSw5OTANCs7Su+HP68TuztLDx8rHyOe6zg0K08PEpsu5tefC
69TaztTK0se9yc/Hw7P2Is3tsLIitcTC8D8NCg0KOTENCjAwOjA1OjQwLDg0MCAtLT4gMDA6MDU6
NDIsMjYwDQrO0rauwcsgztK2rsHLDQoNCjkyDQowMDowNTo0MiwyNjAgLS0+IDAwOjA1OjQ0LDEz
MA0KxOO+zcrHuPbDu7jQx+m1xLv6xvfIyw0KDQo5Mw0KMDA6MDU6NDQsMTMwIC0tPiAwMDowNTo0
Niw1MzANCs7SvqHBpsHLDQoNCjk0DQowMDowNTo0Niw1MzAgLS0+IDAwOjA1OjQ5LDE3MA0Kv+y/
qsq81eLJtdPOz7ewyQ0KDQo5NQ0KMDA6MDU6NDksMTcwIC0tPiAwMDowNTo1MCw0MDANCsyrusPB
yyDO0s/IwLQNCg0KOTYNCjAwOjA1OjUwLDQwMCAtLT4gMDA6MDU6NTIsNTUwDQq21MHLIMTju+HQ
3sCtwbTC8D8NCg0KOTcNCjAwOjA1OjUyLDU1MCAtLT4gMDA6MDU6NTMsMjQwDQrU9cO0Pw0KDQo5
OA0KMDA6MDU6NTMsMjcwIC0tPiAwMDowNTo1Nyw2MTANCs7SsdjQ68il0rvMy8+0yta85A0K1eLA
rcG0v8nE0cCtwcsNCg0KOTkNCjAwOjA2OjAwLDIzMCAtLT4gMDA6MDY6MDQsNjMwDQrE47bUy67E
uMnxvq3N+MLntcTR0L6/zabT0MiktcQNCg0KMTAwDQowMDowNjowNCw2MzAgLS0+IDAwOjA2OjA1
LDgyMA0Kw7u07Q0KDQoxMDENCjAwOjA2OjA1LDgyMCAtLT4gMDA6MDY6MDgsNjIwDQrE47/J0tTI
pdGn0KPN+NW+z8LU2M7StcTC287EDQoNCjEwMg0KMDA6MDY6MDgsNjIwIC0tPiAwMDowNjoxMyw2
NjANCrrDtcQgxOPSsr/J0tTIpc/C1NgNCs7SudjT2re2sKzC17f4yeS0+NHQvr+1xMLbzsQNCg0K
MTAzDQowMDowNjoxMyw2NjAgLS0+IDAwOjA2OjE1LDQxMA0KusO1xA0KDQoxMDQNCjAwOjA2OjE2
LDQxMCAtLT4gMDA6MDY6MTgsNTgwDQq6w7DJDQoNCjEwNQ0KMDA6MDY6MzIsNzQwIC0tPiAwMDow
NjozNCwzMTANCtT1w7TR+T8NCg0KMTA2DQowMDowNjozNCwzMTAgLS0+IDAwOjA2OjQwLDQ4MA0K
yOe5+8Tjz7K7tt7P3s7H0s20v+C12LjJwcQNCsTHvs3L47Osy7PA+w0KDQoxMDcNCjAwOjA2OjQx
LDMwMCAtLT4gMDA6MDY6NDIsNzUwDQq/7L+0DQoNCjEwOA0KMDA6MDY6NDIsNzUwIC0tPiAwMDow
Njo0NCw4MjANCsjLysKyv7XERGF2aXPQob3jDQoNCjEwOQ0KMDA6MDY6NDQsODIwIC0tPiAwMDow
Njo0Nyw0NzANCsv9usPP8dTavOC2vdDUyafIxQ0KDQoxMTANCjAwOjA2OjQ3LDQ4MCAtLT4gMDA6
MDY6NDgsNzIwDQrMq7rDwcsNCg0KMTExDQowMDowNjo0OCw3MzAgLS0+IDAwOjA2OjUxLDY0MA0K
ztLU4tP20NTJp8jFtcS7+rvhw7vByw0KDQoxMTINCjAwOjA2OjUxLDY1MCAtLT4gMDA6MDY6NTYs
NDIwDQrM/cu1y/3Az7mrxdfG+sv9DQrV0sHLuPbE6sfhxq/BwbXEtPPRp8n6DQoNCjExMw0KMDA6
MDY6NTYsNDIwIC0tPiAwMDowNjo1OSwyMDANCtfcscjV0rj209bAz9PWs/O1xNKqusOwyQ0KDQox
MTQNCjAwOjA3OjAzLDk0MCAtLT4gMDA6MDc6MDYsNDMwDQpXb2xvd2l0es/IyfogS29vdGhyYXBw
YWxpsqnKvw0KDQoxMTUNCjAwOjA3OjA2LDQzMCAtLT4gMDA6MDc6MDcsODQwDQpEYXZpc8Wuyr8g
xOO6ww0KDQoxMTYNCjAwOjA3OjA3LDg1MCAtLT4gMDA6MDc6MTQsMjAwDQrO0tfuvfy/tMHLxqrT
0LnYxvO27LK71tK1xM7E1cINCg0KMTE3DQowMDowNzoxNCwyMDAgLS0+IDAwOjA3OjE2LDgwMA0K
usO1xA0KDQoxMTgNCjAwOjA3OjE2LDgwMCAtLT4gMDA6MDc6MjEsMzQwDQrI57n7xOPS8s6q1cm3
8rXExdfG+rb4xNG5/Q0KxOPWu9KqvMfXoS4uLg0KDQoxMTkNCjAwOjA3OjIxLDM0MCAtLT4gMDA6
MDc6MjQsMzgwDQrG87bs0rK74bP2uewgsru5/cv7w8e63L/JsK7E2A0KDQoxMjANCjAwOjA3OjM3
LDI0MCAtLT4gMDA6MDc6MzksOTYwDQqxyMTjsrvE3Lj6xa7Iy72yu7C1xMqxuvK6w7bgwcsNCg0K
MTIxDQowMDowNzo0MiwxMzAgLS0+IDAwOjA3OjQ4LDQ3MA0KztK7ude8sbjIpcz9uvO/27T4u9jG
pLLjy/DJyw0K0v3G8NfUtKvM5bzH0uS1xNHdvbINCg0KMTIyDQowMDowNzo0OCw0NzAgLS0+IDAw
OjA3OjUwLDQyMA0KxNTL8MnLyse63M780v3Iy7XEDQoNCjEyMw0KMDA6MDc6NTAsNDIwIC0tPiAw
MDowNzo1Myw1MTANCsjnufvKx8Tj19S8usvwycsNCsTHvs2yu8780v3Iy8HLDQoNCjEyNA0KMDA6
MDc6NTMsNTEwIC0tPiAwMDowNzo1NiwwNDANCr60v8bRp7XEvfiyvQ0KDQoxMjUNCjAwOjA3OjU2
LDA0MCAtLT4gMDA6MDc6NTksMTQwDQq+tMq5v8bRp734sr21xLyysqG6zcvAzfYNCg0KMTI2DQow
MDowODowMSwyNjAgLS0+IDAwOjA4OjA0LDQzMA0K09DS4su8tcTKxw0KztLDx7u5tNPDu7rNUGVu
bnnM1sLbuf3V4tCpDQoNCjEyNw0KMDA6MDg6MDQsNDQwIC0tPiAwMDowODowNiwxOTANCtK7sOO2
vMrHwcTXxcHE18W+zcHEtb3E0MjLwcsNCg0KMTI4DQowMDowODowNiwxOTAgLS0+IDAwOjA4OjEw
LDM5MA0Ksru5/crKtbG808jr0afK9bbUu7DNprrDtcQNCg0KMTI5DQowMDowODoxMCwzOTAgLS0+
IDAwOjA4OjEzLDAxMA0KsMnMqMG9zrvE0Mq/x+u1xA0KDQoxMzANCjAwOjA4OjEzLDAxMCAtLT4g
MDA6MDg6MTQsNjEwDQrM7MTEINPQxNDIy8frztLDx7/NIQ0KDQoxMzENCjAwOjA4OjE0LDYxMCAt
LT4gMDA6MDg6MTcsMjgwDQrT0MTQyMvH67/NIQ0KDQoxMzINCjAwOjA4OjE3LDI4MCAtLT4gMDA6
MDg6MTksMTUwDQrQu9C7INC70LsgzKu40NC7wcsNCg0KMTMzDQowMDowODoyMCw1MzAgLS0+IDAw
OjA4OjIyLDI1MA0KLSC1rbaoteMNCi0g1PXDtLWttqi1w8bwwLQhDQoNCjEzNA0KMDA6MDg6MjIs
MjUwIC0tPiAwMDowODoyNSwzNDANCtPQxNDIy73TvfzO0sPHILu5srvKx9LyzqpQZW5ueQ0KDQox
MzUNCjAwOjA4OjI2LDMyMCAtLT4gMDA6MDg6MjgsMDkwDQrKx7ChDQoNCjEzNg0KMDA6MDg6Mjgs
MDkwIC0tPiAwMDowODoyOSw1NDANCtC70LvAsg0KDQoxMzcNCjAwOjA4OjM0LDEzMCAtLT4gMDA6
MDg6MzYsMzMwDQrg3iEgs/TG5dK7sr0NCg0KMTM4DQowMDowODozNiwzMzAgLS0+IDAwOjA4OjM4
LDUwMA0KsKE/IM6qyrLDtD8NCg0KMTM5DQowMDowODozOCw1MDAgLS0+IDAwOjA4OjQxLDcyMA0K
ztK1xLvKuvPP1tTaxNy008/Cw+YNCrPUtfTE47XEs7XByw0KDQoxNDANCjAwOjA4OjQxLDcyMCAt
LT4gMDA6MDg6NDMsODEwDQrS4su8ysfO0srkwcs/DQoNCjE0MQ0KMDA6MDg6NDMsODEwIC0tPiAw
MDowODo0NSw0NDANCr3hyvjByyENCg0KMTQyDQowMDowODo0NSw0NDAgLS0+IDAwOjA4OjQ4LDg0
MA0KyOe5+87S19/V4tK7sr0uLi4NCg0KMTQzDQowMDowODo0OCw4NTAgLS0+IDAwOjA4OjUyLDM2
MA0KxMe+zbK7u+HV4sO0usPN5sHLDQrL+dLUztKyu7vh19+1xA0KDQoxNDQNCjAwOjA4OjUzLDE3
MCAtLT4gMDA6MDg6NTYsMDQwDQrQ3c+i0rvPwrDJDQoNCjE0NQ0KMDA6MDg6NTYsMDQwIC0tPiAw
MDowODo1OCw5NTANCs7Sw8fDu77GwcsNCg0KMTQ2DQowMDowODo1OCw5NjAgLS0+IDAwOjA5OjAw
LDU5MA0KztLT1rK7ysfSqsilusi+xg0KDQoxNDcNCjAwOjA5OjA3LDA4MCAtLT4gMDA6MDk6MDgs
ODMwDQq6w8/r1qq1wExlb25hcmTU2rjJwvANCg0KMTQ4DQowMDowOTowOCw4MzAgLS0+IDAwOjA5
OjExLDEzMA0KusPP68v7DQoNCjE0OQ0KMDA6MDk6MTEsMTQwIC0tPiAwMDowOToxNCwxNzANCs7S
w8e08rXnu7C4+Mv7sMkNCg0KMTUwDQowMDowOToxNCwxNzAgLS0+IDAwOjA5OjE2LDM3MA0KztIg
ztLKx8u1IMTjtPK157uwuPjL+7DJDQoNCjE1MQ0KMDA6MDk6MTYsMzcwIC0tPiAwMDowOToxOSw4
MTANCs7S1q7HsMu1uf0NCsXz09Gyu9TasqKyu8TcyrnO0snL0MQNCg0KMTUyDQowMDowOToxOSw4
MTAgLS0+IDAwOjA5OjI1LDQwMA0K0qG59snZxOpQYXVsIFNpbW9u1PjLtQ0KIs7S1rvKx7/pyq/N
tyDSu8astbottbottbrT7CINCg0KMTUzDQowMDowOToyNiw1NzAgLS0+IDAwOjA5OjI4LDM3MA0K
ztLAtLTyDQoNCjE1NA0KMDA6MDk6MjgsMzcwIC0tPiAwMDowOTozMCwyNDANCrrDsKEhIL+qw+LM
4SENCg0KMTU1DQowMDowOTozOCw2NjAgLS0+IDAwOjA5OjQxLDYxMA0Ksru6w9Liy7wgztK1xL/j
19PV8LavwLINCg0KMTU2DQowMDowOTo0NCwwMDAgLS0+IDAwOjA5OjQ2LDQ5MA0KsbG6oyDT0Mnx
wu0iyqoiwvA/DQoNCjE1Nw0KMDA6MDk6NDgsNTcwIC0tPiAwMDowOTo0OSw1NDANCkxlb25hcmQ/
DQoNCjE1OA0KMDA6MDk6NDksNTQwIC0tPiAwMDowOTo1MCw2NzANClBlbm55Pw0KDQoxNTkNCjAw
OjA5OjUwLDY4MCAtLT4gMDA6MDk6NTEsNzkwDQq62SDKx1Blbm55DQoNCjE2MA0KMDA6MDk6NTEs
NzkwIC0tPiAwMDowOTo1Miw5OTANCrTzvNLSu8bwwLS4+lBlbm55tPLV0Lr0DQoNCjE2MQ0KMDA6
MDk6NTIsOTkwIC0tPiAwMDowOTo1NCw2ODANCuDLIFBlbm55IQ0KDQoxNjINCjAwOjA5OjU0LDY4
MCAtLT4gMDA6MDk6NTgsNDAwDQrN2yC/tMC0xOPN5rXDzaa/qtDEtcTC7w0KDQoxNjMNCjAwOjA5
OjU4LDQwMCAtLT4gMDA6MTA6MDEsMjgwDQrIy8n61+6/qtDEtcTKsbniIQ0KDQoxNjQNCjAwOjEw
OjAyLDg5MCAtLT4gMDA6MTA6MDYsMDQwDQrEx8DvsrvKx7LF1OfJzzU6MzDC8D8NCg0KMTY1DQow
MDoxMDowNiwwNDAgLS0+IDAwOjEwOjA3LDE3MA0KysfC8D8NCg0KMTY2DQowMDoxMDowNywxNzAg
LS0+IDAwOjEwOjA5LDg5MA0KutkgtPO77yDP1tTaysfU58nPNTozMCENCg0KMTY3DQowMDoxMDox
Myw0NTAgLS0+IDAwOjEwOjE2LDg1MA0KusOwySDO0sPHtPK157uwysfS8s6qz+vE48HLDQoNCjE2
OA0KMDA6MTA6MTYsODUwIC0tPiAwMDoxMDoxOCwwNzANCrH5yb0hDQoNCjE2OQ0KMDA6MTA6MTgs
MDcwIC0tPiAwMDoxMDoxOSwxNTANCrXIu+G2+Q0KDQoxNzANCjAwOjEwOjE5LDE1MCAtLT4gMDA6
MTA6MjAsNzkwDQrE49PQzqPP1cHLwvA/DQoNCjE3MQ0KMDA6MTA6MjAsNzkwIC0tPiAwMDoxMDoy
MiwzMjANCrK7yscg1eLKx7j2s6nS+9POz7cNCg0KMTcyDQowMDoxMDoyMiwzMjAgLS0+IDAwOjEw
OjI0LDM2MA0K1rvSqsz9tb0isfnJvSLBvbj219YNCr7NvtmxrbOp0vshDQoNCjE3Mw0KMDA6MTA6
MjQsMzYwIC0tPiAwMDoxMDoyNiw0MTANCrH5yb0hILH5yb0hDQoNCjE3NA0KMDA6MTA6MjYsNDEw
IC0tPiAwMDoxMDoyOCw4MzANCrH5yb0hILH5yb0hILH5yb0hILH5yb0hDQoNCjE3NQ0KMDA6MTA6
MjksNTUwIC0tPiAwMDoxMDozMCw4MzANCkxlb25hcmQgTGVvbmFyZD8NCg0KMTc2DQowMDoxMDoz
Myw5NzAgLS0+IDAwOjEwOjM2LDY3MA0KztLDx765yLu74c/rxMe49rvstbANCg0KMTc3DQowMDox
MDozNiw2NzAgLS0+IDAwOjEwOjM5LDQ5MA0KysfE48/rDQoNCjE3OA0KMDA6MTA6NDMsODUwIC0t
PiAwMDoxMDo0NSw3MzANCtT1w7TR+cHLPw0KDQoxNzkNCjAwOjEwOjQ1LDczMCAtLT4gMDA6MTA6
NDksMDcwDQrDu8rCIM7S09bQu7n9y/vDxw0KuObL38v7w8cgztLDx8P7u6jT0Nb3wcsNCg0KMTgw
DQowMDoxMDo0OSwwNzAgLS0+IDAwOjEwOjUzLDE2MA0K1eLDtMu1IM7SsrvTw7PUv/e+zb/J0tS6
yL7GwLINCg0KMTgxDQowMDoxMDo1MywxNjAgLS0+IDAwOjEwOjU0LDI3MA0Kyse1xCDMq7/hwcsN
Cg0KMTgyDQowMDoxMDo1NCwyODAgLS0+IDAwOjEwOjU4LDQ5MA0K0qrKx8Tjz+u6zcv7w8fG5NbQ
0ru49sy4zLgNCsO7yMu74bnWxOO1xA0KDQoxODMNCjAwOjEwOjU4LDUwMCAtLT4gMDA6MTE6MDEs
MjgwDQrOqsm2w7vIy7vhudbO0g0KDQoxODQNCjAwOjExOjAyLDEyMCAtLT4gMDA6MTE6MDUsNTcw
DQrO0tTauvrR1MLS0+/E2A0KDQoxODUNCjAwOjExOjA1LDU3MCAtLT4gMDA6MTE6MDksODQwDQrM
/cbwwLTE49Liy7zKxw0KztLE3NXStb2xyFNoZWxkb264/LrDtcQNCg0KMTg2DQowMDoxMTowOSw4
NDAgLS0+IDAwOjExOjEyLDIxMA0K1eK+xr/J1ebB0rChDQoNCjE4Nw0KMDA6MTE6MTMsNjMwIC0t
PiAwMDoxMToxNyw4NjANCszsxMUgztK98c3tv8+2qNKqzcLLwMHLDQoNCjE4OA0KMDA6MTE6MTks
MTgwIC0tPiAwMDoxMToyMiw2NDANCrjmy9/O0iDE48u1xMe7sMqyw7TS4su8DQoNCjE4OQ0KMDA6
MTE6MjQsODEwIC0tPiAwMDoxMToyOSwwNjANCsTjw7u94bvpIMTjxNDF89PR09bKxy4uLg0KDQox
OTANCjAwOjExOjI5LDA2MCAtLT4gMDA6MTE6MzEsMDMwDQpTaGVsZG9uxMfA4NDNtcQNCg0KMTkx
DQowMDoxMTozMSwwMzAgLS0+IDAwOjExOjM0LDA2MA0KxOPVybfyu7nKx0hvd2FyZMTH0M21xMTY
DQoNCjE5Mg0KMDA6MTE6MzQsMDcwIC0tPiAwMDoxMTozNiw1MzANCsTjz+ux7bTvyrLDtA0KDQox
OTMNCjAwOjExOjM3LDYyMCAtLT4gMDA6MTE6MzksNDUwDQqxp8e4IM7Syba2vLK7z+ux7bTvDQoN
CjE5NA0KMDA6MTE6MzksNDUwIC0tPiAwMDoxMTo0MCw5NDANCsu11eLKwsyrzt7BxMHLDQoNCjE5
NQ0KMDA6MTE6NDAsOTQwIC0tPiAwMDoxMTo0MywzMjANCtTbxNzN/MHL1eKy5yC8zND44MvG8MC0
sMkNCg0KMTk2DQowMDoxMTo0MywzMjAgLS0+IDAwOjExOjQ2LDYzMA0Kv8nS1LXEILWrsrvQ0rXE
yscNCs7StPPE1L/Jw7vT0MvwycsNCg0KMTk3DQowMDoxMTo0Niw2MzAgLS0+IDAwOjExOjUwLDc1
MA0KztK7ubzHtcPE48u1ztK80rGmsbS1xLu1u7DE2A0KDQoxOTgNCjAwOjExOjUwLDc1MCAtLT4g
MDA6MTE6NTEsOTEwDQq6w8CyIM7StcDHuA0KDQoxOTkNCjAwOjExOjUxLDkyMCAtLT4gMDA6MTE6
NTMsODgwDQrE3M38vMe41bLFtcTKwsLwDQoNCjIwMA0KMDA6MTE6NTQsODQwIC0tPiAwMDoxMTo1
NywwOTANCi0gtbHIuw0KLSDQu8CyDQoNCjIwMQ0KMDA6MTE6NTgsODkwIC0tPiAwMDoxMjowMSw3
OTANCsTj1cm38rXEudbS7LrNtKnXxcyru6y7/MHLDQoNCjIwMg0KMDA6MTI6MDQsMjMwIC0tPiAw
MDoxMjowNSwyODANCtXmsru40s/g0MUNCg0KMjAzDQowMDoxMjowNSwyODAgLS0+IDAwOjEyOjA4
LDI4MA0K1eK2zsqxvOQgztK+zdK71rHX+NfFz+vE7sTHvNK77w0KDQoyMDQNCjAwOjEyOjA4LDI4
MCAtLT4gMDA6MTI6MDksOTMwDQrWqrXA1+7U47XEysfKssO0wvANCg0KMjA1DQowMDoxMjowOSw5
MzAgLS0+IDAwOjEyOjEzLDU3MA0KxOPP1tTa1eLDtMnL0MQgu7nDu7eovei+xs/7s+4/DQoNCjIw
Ng0KMDA6MTI6MTgsNDkwIC0tPiAwMDoxMjoyMCw0OTANCrK7yscNCg0KMjA3DQowMDoxMjoyMCw1
MDAgLS0+IDAwOjEyOjIyLDU4MA0Kw7u07Q0KDQoyMDgNCjAwOjEyOjI0LDQ4MCAtLT4gMDA6MTI6
MjYsNDgwDQrWqrXAu7nT0Mqyw7TSsrrc1OPC8A0KDQoyMDkNCjAwOjEyOjI2LDQ4MCAtLT4gMDA6
MTI6MjgsMDMwDQrL+7j5sb6+zbK7z+vO0g0KDQoyMTANCjAwOjEyOjI4LDA0MCAtLT4gMDA6MTI6
MzAsOTQwDQrIw87SwLSwss6/z8LE47DJDQoNCjIxMQ0KMDA6MTI6MzAsOTQwIC0tPiAwMDoxMjoz
NCwxMTANCsbwwuvE49Xi0fnX9s2mvaG/tbXEDQoNCjIxMg0KMDA6MTI6MzYsMTEwIC0tPiAwMDox
MjozOCw3MzANCtXmtc65/iDN6srCwcsg1eLSssvjsLLOvw0KDQoyMTMNCjAwOjEyOjM4LDczMCAt
LT4gMDA6MTI6NDUsNzkwDQrSu7DZxOq68yDE48Gptryyu9TawcsNCsTHvs3Du7nYz7XByw0KDQoy
MTQNCjAwOjEyOjQ1LDc5MCAtLT4gMDA6MTI6NDcsOTQwDQq448qyw7SwoQ0KDQoyMTUNCjAwOjEy
OjQ3LDk0MCAtLT4gMDA6MTI6NTAsNzIwDQrE49OmuMPLtSAiy/u1sci7z+vE4yINCg0KMjE2DQow
MDoxMjo1MCw3MzAgLS0+IDAwOjEyOjUzLDY4MA0Ky/vWrsv50tTN5sTHw7S36A0KysfP6838tfTL
+7XEsa/Jyw0KDQoyMTcNCjAwOjEyOjUzLDY4MCAtLT4gMDA6MTI6NTYsMzMwDQrO0r/JsrvEx8O0
yM/Oqg0KDQoyMTgNCjAwOjEyOjU4LDg1MCAtLT4gMDA6MTM6MDAsMjMwDQrMq7vEw/3Byw0KDQoy
MTkNCjAwOjEzOjAwLDI0MCAtLT4gMDA6MTM6MDIsNzQwDQq+zdLyzqrL+83mtcO63ODLIM7Svs3S
qsTRuf3C8A0KDQoyMjANCjAwOjEzOjAyLDc0MCAtLT4gMDA6MTM6MDYsOTYwDQrV4rj2wu8uLi7S
stDtxOPU2s/rDQoNCjIyMQ0KMDA6MTM6MDYsOTYwIC0tPiAwMDoxMzoxMSwyOTANCsv7us3ExLj2
xO/Dx77GuvPC0tDUxNgNCg0KMjIyDQowMDoxMzoxMyw2ODAgLS0+IDAwOjEzOjE3LDMyMA0KysfC
8CDO0su1ttTBy8LwDQoNCjIyMw0KMDA6MTM6MTgsODQwIC0tPiAwMDoxMzoxOSw5MjANCsyrsPTA
sg0KDQoyMjQNCjAwOjEzOjE5LDkyMCAtLT4gMDA6MTM6MjIsMjEwDQrE47K708PK1NfFsLLOv87S
wcsNCg0KMjI1DQowMDoxMzoyMiwyMTAgLS0+IDAwOjEzOjI3LDQ2MA0KsrvQ0CBMZW9uYXJk19/W
rsewDQrL+8jDztKxo9akIM7Su+HV1bnLusPE47XEDQoNCjIyNg0KMDA6MTM6MjcsNDYwIC0tPiAw
MDoxMzoyOSw4NTANCi0g1ea1xMLwDQotIMrHtcQNCg0KMjI3DQowMDoxMzoyOSw4NTAgLS0+IDAw
OjEzOjMyLDYzMA0KzKvM+dDEwcsNCg0KMjI4DQowMDoxMzozMiw2MzAgLS0+IDAwOjEzOjM3LDE3
MA0Ku7nT0CDI57n7ztLX9rXDs/bJqw0Ky/vLtbvhuPjO0rT4u9jAtNK7tqXLrsrWw7ENCg0KMjI5
DQowMDoxMzozOSwwNzAgLS0+IDAwOjEzOjQwLDk5MA0Kz9bU2s7SuPzP68Tuy/vByw0KDQoyMzAN
CjAwOjEzOjQwLDk5MCAtLT4gMDA6MTM6NDUsNTgwDQrI57n7udzTw7XEu7AgztLIt9DFDQoNCjIz
MQ0KMDA6MTM6NDUsNTgwIC0tPiAwMDoxMzo1MSwwMzANCkxlb25hcmTUtsDrxOO7s7Gnus3T8bS9
DQq1xMO/0ru/zLa8sbjK3LzlsL4NCg0KMjMyDQowMDoxMzo1Miw1MDAgLS0+IDAwOjEzOjUzLDQ3
MA0K0LvQuw0KDQoyMzMNCjAwOjEzOjUzLDQ3MCAtLT4gMDA6MTM6NTUsMzQwDQrE47u5tbHV5sCy
DQoNCjIzNA0KMDA6MTM6NTcsOTQwIC0tPiAwMDoxNDowMCwzODANCrTyyMXByyBEYXZpc7fyyMsN
Cg0KMjM1DQowMDoxNDowMCwzODAgLS0+IDAwOjE0OjAxLDY4MA0K1PXDtMHLDQoNCjIzNg0KMDA6
MTQ6MDEsNjgwIC0tPiAwMDoxNDowNCw3MTANCrGnx7jO0sTHw7TCs8OnDQoNCjIzNw0KMDA6MTQ6
MDQsNzIwIC0tPiAwMDoxNDoxMSw5NDANCru5zqrO28PvxvO27LXAx7gNCtLyzqo5OSW1xMbztuy2
vLu5zabT0NLiy7y1xA0KDQoyMzgNCjAwOjE0OjExLDk0MCAtLT4gMDA6MTQ6MTMsOTcwDQrL48HL
sMkNCg0KMjM5DQowMDoxNDoxNSwzNjAgLS0+IDAwOjE0OjE4LDQ5MA0K1qq1wMLwINTbwanT0NDt
tuDP4MvG1q60pg0KDQoyNDANCjAwOjE0OjE4LDUwMCAtLT4gMDA6MTQ6MjEsNjEwDQotIMrHwvAN
Ci0gtbHIuyDO0tKyLi4uDQoNCjI0MQ0KMDA6MTQ6MjEsNjIwIC0tPiAwMDoxNDoyNCwyMzANCrGl
ytzQxMvp1q7NtA0KDQoyNDINCjAwOjE0OjI0LDI0MCAtLT4gMDA6MTQ6MjYsMDQwDQq6w7DJIMz9
ztLPuM+4tcDAtA0KDQoyNDMNCjAwOjE0OjI4LDY2MCAtLT4gMDA6MTQ6MzMsMTMwDQq4+MTjsa3I
yNL7ILCyzr/PwsTjDQoNCjI0NA0KMDA6MTQ6MzMsMTMwIC0tPiAwMDoxNDozNSwwMzANCtPDtcTS
u7TO0NSxrdfTDQoNCjI0NQ0KMDA6MTQ6MzUsMDMwIC0tPiAwMDoxNDozNiw4ODANCsvmsePIzsTj
tKbWww0KDQoyNDYNCjAwOjE0OjM4LDYyMCAtLT4gMDA6MTQ6NDEsNTAwDQqx8MLvILu51OfE2A0K
DQoyNDcNCjAwOjE0OjQxLDUwMCAtLT4gMDA6MTQ6NDIsODkwDQrV0rXjysLX9rDJDQoNCjI0OA0K
MDA6MTQ6NDIsODkwIC0tPiAwMDoxNDo0OCw0NzANCs7S0rvWsdTaubnLvDREufq8ys/zxuUNCg0K
MjQ5DQowMDoxNDo0OCw0ODAgLS0+IDAwOjE0OjUwLDE5MA0K0qqyu77NueLBxMzssMkNCg0KMjUw
DQowMDoxNDo1MCwxOTAgLS0+IDAwOjE0OjUxLDI0MA0KusOwyQ0KDQoyNTENCjAwOjE0OjUxLDI1
MCAtLT4gMDA6MTQ6NTMsNTEwDQotINTaNES5+rzKz/PG5dbQDQotIM2jDQoNCjI1Mg0KMDA6MTQ6
NTQsNjgwIC0tPiAwMDoxNDo1NywyMjANCsC0wcTBxMn6u+6wyQ0KDQoyNTMNCjAwOjE0OjU3LDIy
MCAtLT4gMDA6MTQ6NTksMTAwDQq45svfztLQqcTjsrvOqsjL1qq1xMrCDQoNCjI1NA0KMDA6MTU6
MDIsMTcwIC0tPiAwMDoxNTowNSw5ODANCs7S09C+xcz1v+PX0w0KDQoyNTUNCjAwOjE1OjA3LDgx
MCAtLT4gMDA6MTU6MTIsMjEwDQq/qs23sru07SDO0s/rzP3Qqbj8y73Iy7XEysINCg0KMjU2DQow
MDoxNToxMiwyMjAgLS0+IDAwOjE1OjE0LDU4MA0KztK2rsHLDQoNCjI1Nw0KMDA6MTU6MTQsNTkw
IC0tPiAwMDoxNToxOCw5OTANCs7S09C+xcz1xNq/4w0KDQoyNTgNCjAwOjE1OjIxLDI5MCAtLT4g
MDA6MTU6MjMsMDYwDQrSqrK7ztLPyMC0sMkNCg0KMjU5DQowMDoxNToyMywwNjAgLS0+IDAwOjE1
OjI2LDIxMA0KtavO0rK7z+vWqrXAxOPT0Ly4zPXE2r/jDQoNCjI2MA0KMDA6MTU6MjYsMjEwIC0t
PiAwMDoxNTozMCwwNTANCrK7uf24+b7dxOPO1MrStdiw5cC0v7QNCsTj06a4w9PQ0rvHp8z1sMkN
Cg0KMjYxDQowMDoxNTozMCwwNTAgLS0+IDAwOjE1OjM0LDU1MA0KzP3XxSC45svfxOPQqc7SsrvO
qsjL1qq1xMrCDQoNCjI2Mg0KMDA6MTU6MzQsNTYwIC0tPiAwMDoxNTozNiwzOTANCs7SuNWw4bW9
wuXJvO22yrENCg0KMjYzDQowMDoxNTozNiwzOTAgLS0+IDAwOjE1OjQwLDQ0MA0KztLC49DYs/bR
3cHL0ruyv7nY09oNCrTz0MnQycmxyta1xLXNs8mxvr/WssDGrA0KDQoyNjQNCjAwOjE1OjQwLDQ1
MCAtLT4gMDA6MTU6NDEsODQ2DQrWrrrzIM7SuNC1vbrc0N/Aog0KDQoyNjUNCjAwOjE1OjQyLDAx
MCAtLT4gMDA6MTU6NDYsMTgwDQq40NC7yc+12yDEx8as19PDu7eisrwNCg0KMjY2DQowMDoxNTo0
NiwxODAgLS0+IDAwOjE1OjQ4LDM1MA0KztK/tLn9xMfGrMTYDQoNCjI2Nw0KMDA6MTU6NDksMzAw
IC0tPiAwMDoxNTo1MSw0MDANCsrHsKEgway7t7HkzKzQydDJDQoNCjI2OA0KMDA6MTU6NTQsMDQw
IC0tPiAwMDoxNTo1Niw5NjANCrz7xOO12tK7zOwgSG93YXJkvs3L0bW9wcsNCg0KMjY5DQowMDox
NTo1Niw5NjAgLS0+IDAwOjE1OjU4LDQ2MA0KxbYgzOzExC4uLg0KDQoyNzANCjAwOjE1OjU4LDQ2
MCAtLT4gMDA6MTY6MDEsMjYwDQq+zdTaxOOz9sPFxMfSu7/MDQoNCjI3MQ0KMDA6MTY6MDMsMjAw
IC0tPiAwMDoxNjowNyw4MDANCs7Sz9bU2taqtcDE49KqwcTKssO0xNrI3cHLDQoNCjI3Mg0KMDA6
MTY6MDcsODEwIC0tPiAwMDoxNjoxMSw1MTANCrrDsMkg1eK49sPYw9wNCs7Ssb7AtNKqtPi9+LnX
ssS1xA0KDQoyNzMNCjAwOjE2OjExLDUxMCAtLT4gMDA6MTY6MTIsNzkwDQq6ww0KDQoyNzQNCjAw
OjE2OjE1LDEwMCAtLT4gMDA6MTY6MTksNjgwDQrWrsewIFlvdXR1YmWw0dPDu6e958PmDQoNCjI3
NQ0KMDA6MTY6MTksNjgwIC0tPiAwMDoxNjoyNCwzNzANCtPJIsbA0Mciu7uzySKwtNTeIg0KDQoy
NzYNCjAwOjE2OjI0LDM3MCAtLT4gMDA6MTY6MjksMzkwDQrO0rHtw+bJz9TezawgxuTKtdK7teO2
vLK7DQoNCjI3Nw0KMDA6MTY6MzQsMjYwIC0tPiAwMDoxNjozNSw5MjANCtXivs3Kx8TjtcTD2MPc
Pw0KDQoyNzgNCjAwOjE2OjM1LDkyMCAtLT4gMDA6MTY6MzcsMDA4DQrKx7XEDQoNCjI3OQ0KMDA6
MTY6MzcsNjUwIC0tPiAwMDoxNjo0MSwyNDANCs3bISDSu8/Cx+HBy8quve8NCg0KMjgwDQowMDox
Njo0MSwyNDAgLS0+IDAwOjE2OjQ1LDk5MA0KusPByyDO0rK7zebByyDLr771yKUNCg0KMjgxDQow
MDoxNjo0Niw2ODAgLS0+IDAwOjE2OjQ5LDIxMA0K1Nm4+sTjy7W8/s7SsrvOqsjL1qq1xMrCDQoN
CjI4Mg0KMDA6MTY6NDksMjEwIC0tPiAwMDoxNjo1MCw2NjANCsTjuNXJy7qmwcvO0g0KDQoyODMN
CjAwOjE2OjUwLDY3MCAtLT4gMDA6MTY6NTIsNTcwDQrO0tf2tO3JtsHLPw0KDQoyODQNCjAwOjE2
OjUyLDU3MCAtLT4gMDA6MTY6NTgsMDIwDQrO0rOov6rQxLuzILjmy9/E47z+yMPO0sTRyty1xMrC
DQrE48i0sru1sbvYysINCg0KMjg1DQowMDoxNjo1OCwwMjAgLS0+IDAwOjE3OjAwLDg5MA0KztIu
Li4gztKyu771tcPEx9PQyrLDtA0KDQoyODYNCjAwOjE3OjAwLDg5MCAtLT4gMDA6MTc6MDMsNzMw
DQq1q7bUztLAtMu1yLTKx7TzysINCg0KMjg3DQowMDoxNzowNiw1ODAgLS0+IDAwOjE3OjA4LDI2
MA0KU2hlbGRvbiDE48u1tcO21A0KDQoyODgNCjAwOjE3OjA4LDI3MCAtLT4gMDA6MTc6MTEsMDIw
DQrV5rXEttSyu8bwDQrO0tOmuMO4/MHLveLE4w0KDQoyODkNCjAwOjE3OjExLDAyMCAtLT4gMDA6
MTc6MTIsODUwDQq908rcxOO1xLXAx7gNCg0KMjkwDQowMDoxNzoxMiw4NTAgLS0+IDAwOjE3OjE0
LDk0MA0K0LvQuw0KDQoyOTENCjAwOjE3OjE0LDk0MCAtLT4gMDA6MTc6MTYsMjQwDQrAtCCxp7Gn
Pw0KDQoyOTINCjAwOjE3OjE2LDI0MCAtLT4gMDA6MTc6MTksNjMwDQotILu5ysfO1crWsMk/DQot
IMC0sMkNCg0KMjkzDQowMDoxNzoyMiw2MTAgLS0+IDAwOjE3OjI3LDgzMA0Kz9bU2s7Swcu94sTj
sbux5Mys0MnQyc+uu/e1xLjQvvXByw0KDQoyOTQNCjAwOjE3OjQzLDMyMCAtLT4gMDA6MTc6NDQs
MzUwDQrN7bCyDQoNCjI5NQ0KMDA6MTc6NTIsMzMwIC0tPiAwMDoxNzo1NSw1OTANCr7TyLvT0MSw
yfrIy8Lyvsa4+M7Sw8cNCsrcs+jI9L6qsKENCg0KMjk2DQowMDoxNzo1NSw2MDAgLS0+IDAwOjE3
OjU4LDEwMA0KysewoSC40L71sru07Q0KDQoyOTcNCjAwOjE3OjU5LDYzMCAtLT4gMDA6MTg6MDIs
NzAwDQrD99TnztLDx7XDtKnM9dDUuNC/47/jDQoNCjI5OA0KMDA6MTg6MDIsNzAwIC0tPiAwMDox
ODowNSw5MTANCr+0v7TT0MO709DD4rfRusmw/LWwDQoNCjI5OQ0KMDA6MTg6MDcsMzcwIC0tPiAw
MDoxODoxMyw5MTANCrzZyOfLtSDV5tKq0aEgxOPRocTE0ru49j8NCg0KMzAwDQowMDoxODoxNiwx
ODAgLS0+IDAwOjE4OjIwLDI3MA0KztLRocTHuPa3otDNudbS7LXEsKu49tfTDQoNCjMwMQ0KMDA6
MTg6MjAsMjcwIC0tPiAwMDoxODoyMiwzNDANCsyrusPByyDO0s+yu7bEx7j2yt2437j2tvkNCg0K
MzAyDQowMDoxODoyMiwzNDAgLS0+IDAwOjE4OjI3LDAxMA0Ky/u/tMbwwLS63LTPw/cg0rK63LnC
xqcNCtKy0O3Du8qyw7TQ1L6t0ekNCg0KMzAzDQowMDoxODoyNywwMTAgLS0+IDAwOjE4OjI5LDkw
MA0Ku7m1w87SvczL+w0KDQozMDQNCjAwOjE4OjMxLDc3MCAtLT4gMDA6MTg6MzMsNjIwDQrO0tGh
tcS/ybK71eLR+Q0KDQozMDUNCjAwOjE4OjMzLDYyMCAtLT4gMDA6MTg6MzUsNTcwDQrO0r+0tb3L
+7ai18XO0tDYv7TE2A0KDQozMDYNCjAwOjE4OjM2LDQ3MCAtLT4gMDA6MTg6NDEsMjkwDQrO0s+y
u7bEx9bWDQrP68y9y/fO0sOr0sLA78PmtcTE0MjLDQoNCjMwNw0KMDA6MTg6NDEsMjkwIC0tPiAw
MDoxODo0NCwyOTANCsuzsePLtc/CIMDvw+a7ucrHvP7Dq9LCDQoNCjMwOA0KMDA6MTg6NDYsNDMw
IC0tPiAwMDoxODo0OSw3NzANCsTHuPa8or/KtcSwq7j219PT0LXjz/FIb3dhcmQNCg0KMzA5DQow
MDoxODo0OSw3NzAgLS0+IDAwOjE4OjUzLDA0MA0KxOPEx7j2tM/D97XEtKbE0M/xU2hlbGRvbg0K
DQozMTANCjAwOjE4OjUzLDEwMCAtLT4gMDA6MTg6NTUsNjQwDQotIM3tsLINCi0gze2wsg0KDQoz
MTENCjAwOjE4OjU4LDM0MCAtLT4gMDA6MTk6MDEsMzEwDQq6w8HLIEtvb3RocmFwcGFsabKpyr8N
Crj6xOPMuLuwuty439DLDQoNCjMxMg0KMDA6MTk6MDEsMzEwIC0tPiAwMDoxOTowMyw4MTANCrWr
ztLSqrvYvNINCr3it8XO0rXEsaPEt8HLDQoNCjMxMw0KMDA6MTk6MDMsODEwIC0tPiAwMDoxOTow
NiwwNzANCsrHsKEgztLBy73itaXJ7bi4xLi1xLjQytwNCg0KMzE0DQowMDoxOTowNiwwNzAgLS0+
IDAwOjE5OjA4LDAyMA0KztLT0NK71rvQobm3DQoNCjMxNQ0KMDA6MTk6MDgsMDIwIC0tPiAwMDox
OToxMCw4NTANCsrHsKEgzerIq9K70fkNCg0KMzE2DQowMDoxOToxMCw4NjAgLS0+IDAwOjE5OjEy
LDE1MA0Kze2wsg0KDQozMTcNCjAwOjE5OjEyLDE2MCAtLT4gMDA6MTk6MTMsODIwDQpEYXZpc8Wu
yr8uLi4NCg0KMzE4DQowMDoxOToxMyw4MjAgLS0+IDAwOjE5OjE2LDY2MA0KztIuLi4gtu4gxuTK
tS4uLg0KDQozMTkNCjAwOjE5OjE2LDY2MCAtLT4gMDA6MTk6MjAsODEwDQq98c3tztLKx7Gn18XD
7MOjz6PN+w0Kuf3AtL+0v7TE3LK7xNzF3bW9ucK2wLXEsqnKv7rzDQoNCjMyMA0KMDA6MTk6MjAs
ODIwIC0tPiAwMDoxOToyNSwwNTANCrWryLS6zcTj1ebQxMHEyc/Byw0KDQozMjENCjAwOjE5OjI1
LDA1MCAtLT4gMDA6MTk6MjcsODIwDQq4/LzTw8DD7rXE0rvN7Q0KDQozMjINCjAwOjE5OjI4LDU2
MCAtLT4gMDA6MTk6MzAsNjIwDQrE48jLuty6ww0KDQozMjMNCjAwOjE5OjMwLDYzMCAtLT4gMDA6
MTk6MzIsMzcwDQrE47K7u+G21M7S09DS4su8sMk/DQoNCjMyNA0KMDA6MTk6MzIsMzgwIC0tPiAw
MDoxOTozNCwxMzANCrK7ILK7ILK7IMTHvs236MHLIQ0KDQozMjUNCjAwOjE5OjM0LDEzMCAtLT4g
MDA6MTk6MzgsNDAwDQq82cjnztK21MTj09DS4su8IMTj1Oe3or71wcsNCtTauNC+9bK7y6zWrtPg
IMTju7m74dPQtePNrMfpztINCg0KMzI2DQowMDoxOTo0Miw2NzAgLS0+IDAwOjE5OjQ0LDU1MA0K
xOPV5r/JsK4NCg0KMzI3DQowMDoxOTo0NCw1OTAgLS0+IDAwOjE5OjQ2LDk5OQ0Kze2wsiBLb290
aHJhcHBhbGmyqcq/DQoNCjMyOA0KMDA6MTk6NDcsMDEwIC0tPiAwMDoxOTo0OSw2MTANCs3tsLIN
Cg0KMzI5DQowMDoxOTo1MSwxMTAgLS0+IDAwOjE5OjUzLDMzMA0Kw7LLxsTjtcDHuLPJuabByw0K
DQozMzANCjAwOjE5OjUzLDMzMCAtLT4gMDA6MTk6NTUsMDMwDQq2+MfSLi4uDQoNCjMzMQ0KMDA6
MTk6NTUsMDMwIC0tPiAwMDoxOTo1NywxMjANCs7SvvW1w87Sw8e7uc2mwLS157XEDQoNCjMzMg0K
MDA6MTk6NTcsMTIwIC0tPiAwMDoxOTo1OSw3OTANCsvjwcuwySDAtLXnxOO49s23DQoNCjMzMw0K
MDA6MTk6NTksNzkwIC0tPiAwMDoyMDowMSw5OTANCsTjyrLDtMqxuvKzycHLIsC0tefWrs31IsHL
Pw0KDQozMzQNCjAwOjIwOjA0LDMyMCAtLT4gMDA6MjA6MDYsMDk4DQq6w7DJIL7Ny+PE48PH09DA
tLXnDQoNCjMzNQ0KMDA6MjA6MDYsMTEwIC0tPiAwMDoyMDowOCw3ODANCi0gsb7AtL7N09ANCi0g
w7vT0A0KDQozMzYNCjAwOjIwOjA4LDc4MCAtLT4gMDA6MjA6MTIsODgwDQq1qy4uLiC1q7y0yrnT
0CDE49Kq1PXDtNf2Pw0KDQozMzcNCjAwOjIwOjEyLDg4MCAtLT4gMDA6MjA6MTgsODAwDQrO0rvh
wv3C/bm00v3L/Q0K1rG1vcv9zt7W+rXYtbnU2s7StLLJzw0KDQozMzgNCjAwOjIwOjE4LDgxMCAt
LT4gMDA6MjA6MjAsODEwDQq/ys3718XWu9PQztLE3Lj4y/21xL/swNYNCg0KMzM5DQowMDoyMDoy
MCw4MTAgLS0+IDAwOjIwOjIyLDY4MA0KLSDL+dLUy7UgyrLDtLa8srvX9g0KLSDKssO0tryyu9f2
DQoNCjM0MA0KMDA6MjA6MjgsNjAwIC0tPiAwMDoyMDozNCw3MzANCtXmuN/Qy76vsuzW1dPa16W1
vcHLxMe49g0K0MTA7bHkzKy1xLv50vK4xNTs0MnQyQ0KDQozNDENCjAwOjIwOjM5LDk5MCAtLT4g
MDA6MjA6NDIsMjEwDQrO0reiysQg1eLKx87Sxa7F89PRIQ0KDQozNDINCjAwOjIwOjQzLDc1MCAt
LT4gMDA6MjA6NDcsMjgwDQpMZW9uYXJkISBMZW9uYXJkIQ0KTGVvbmFyZCEgTGVvbmFyZCENCg0K
MzQzDQowMDoyMDo0OCwyNDAgLS0+IDAwOjIwOjUwLDE0MA0KPGZvbnQgY29sb3I9IzIzOEU2OD4t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Ksb7C28yz19bEu732t63S6727
wffRp8+w1q7Tww0KvfvWucjOus7JzNK108PNvrfx1PK687n719S4ug0KLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2ZvbnQ+DQoNCjM0NA0KMDA6MjA6NTAsMjgwIC0tPiAw
MDoyMDo1MiwyNjANCjxmb250IGNvbG9yPSMyMzhFNjg+zOyyxcDtwtu0qyC12sbfvL4gtdrSu7yv
IM3qDQo3MjBQIGlUdW5lcyAtINfUwLT33GFrPC9mb250Pg0K
headers:
cache-control:
- max-age=2678400
connection:
- keep-alive
content-disposition:
- subtitle; filename="The.Big.Bang.Theory.S07E01.The.Hofstadter.Insufficiency.720p.WEB-DL.DD5.1.H.264.srt"
content-length:
- '21411'
content-type:
- application/octet-stream
date:
- Sat, 30 Nov 2019 07:14:46 GMT
expires:
- Tue, 31 Dec 2019 07:14:46 GMT
master:
- Windu
server:
- nginx
x-cache:
- HIT
status:
code: 200
message: OK
version: 1

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,83 @@
interactions:
- request:
body: null
headers:
User-Agent:
- Sub-Zero/2
method: GET
uri: https://api.assrt.net/v1/sub/search?q=%5B%27The+Big+Bang+Theory+S07E05%27%5D&token=SECRET&is_file=%5B%271%27%5D
response:
body:
string: "{\"status\":0,\"sub\":{\"keyword\":\"The Big Bang Theory S07E05\",\"\
result\":\"succeed\",\"subs\":[{\"subtype\":\"Subrip(srt)\",\"id\":618200,\"\
lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"langchs\":true}},\"vote_score\"\
:0,\"upload_time\":\"2018-01-26 19:23:52\",\"release_site\":\"\u4F0A\u7538\
\u56ED\",\"native_name\":\"\u5929\u624D\u7406\u8BBA\u4F20\u7B2C7\u5B63\u5168\
24\u96C6The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264\",\"videoname\":\"\
The.Big.Bang.Theory.S07.1080p.WEB-DL.DD5.1.H.264\",\"revision\":0},{\"subtype\"\
:\"Subrip(srt)\",\"id\":316965,\"vote_score\":0,\"upload_time\":\"2014-12-06\
\ 04:13:43\",\"native_name\":\"\u751F\u6D3B\u5927\u7206\u70B8 \u7B2C\u4E03\
\u5B63 \u7B2C 5 \u96C6\",\"videoname\":\"The Big Bang Theory S07E05 720p HDTV\
\ X264-DIMENSION\",\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":316966,\"\
vote_score\":0,\"upload_time\":\"2014-12-06 04:13:43\",\"native_name\":\"\u751F\
\u6D3B\u5927\u7206\u70B8 \u7B2C\u4E03\u5B63 \u7B2C 5 \u96C6\",\"videoname\"\
:\"The Big Bang Theory S07E05 720p HDTV X264-DIMENSION\",\"revision\":0},{\"\
subtype\":\"SSA\",\"id\":264973,\"lang\":{\"desc\":\"\u53CC\u8BED\",\"langlist\"\
:{\"langdou\":true}},\"vote_score\":80,\"upload_time\":\"2014-11-02 10:41:05\"\
,\"native_name\":\"The Big Bang Theory S07\\/\u751F\u6D3B\u5927\u7206\u70B8\
\ \u7B2C\u4E03\u5B63\\/The Big Bang Theory Season 07\",\"videoname\":\"The.Big.Bang.Theory.S07E05.720p.BluRay.x264-DEMAND\"\
,\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":261680,\"lang\":{\"desc\"\
:\"\u7B80\",\"langlist\":{\"langchs\":true}},\"vote_score\":0,\"upload_time\"\
:\"2014-08-30 05:11:21\",\"native_name\":\"\u751F\u6D3B\u5927\u7206\u70B8\
\ \u7B2C\u4E03\u5B63\\/\u5929\u624D\u7406\u8BBA\u4F20\",\"videoname\":\"The.Big.Bang.Theory.S07.720p.BluRay.x264-DEMAND\"\
,\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":244659,\"lang\":{\"desc\"\
:\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"\
langchs\":true}},\"vote_score\":0,\"upload_time\":\"2013-10-19 03:34:04\"\
,\"native_name\":\"\u5929\u624D\u7406\u8BBA\u4F20\\/\u751F\u6D3B\u5927\u7206\
\u70B8 \u7B2C\u4E03\u5B63\u7B2C\u4E94\u96C6\",\"videoname\":\"The Big Bang\
\ Theory S07E05 the.big.bang.theory.705.hdtv-lol\",\"revision\":0},{\"subtype\"\
:\"Subrip(srt)\",\"id\":244640,\"lang\":{\"desc\":\"\u82F1 \u7B80 \u7E41 \u53CC\
\u8BED\",\"langlist\":{\"langchs\":true,\"langeng\":true,\"langdou\":true,\"\
langcht\":true}},\"vote_score\":0,\"upload_time\":\"2013-10-18 23:33:24\"\
,\"native_name\":\"\",\"videoname\":\"\u751F\u6D3B\u5927\u7206\u70B8\\/The\
\ Big Bang Theory S07E05\\/\u7B2C\u4E03\u5B63\u7B2C5\u96C6\\/\u5723\u57CE\u5BB6\
\u56ED\u53CC\u8BED\u5B57\u5E55 the.big.bang.theory.705.hdtv-lol\",\"revision\"\
:0},{\"subtype\":\"SSA\",\"id\":244632,\"lang\":{\"desc\":\"\u82F1 \u7B80\"\
,\"langlist\":{\"langeng\":true,\"langchs\":true}},\"vote_score\":0,\"upload_time\"\
:\"2013-10-18 22:15:16\",\"native_name\":\"\u5929\u624D\u7406\u8BBA\u4F20\\\
/The Big Bang Theory S07E05\u751F\u6D3B\u5927\u7206\u70B8 \u7B2C\u4E03\u5B63\
\u7B2C\u4E94\u96C6\u3010\u8C22\u8033\u6735\u5B57\u5E55\u7EC4\u3011\",\"videoname\"\
:\"The.Big.Bang.Theory.S07E05.720p.HDTV.X264-DIMENSION\",\"revision\":0},{\"\
subtype\":\"\u5176\u4ED6\",\"id\":244630,\"lang\":{\"desc\":\"\",\"langlist\"\
:{}},\"vote_score\":0,\"upload_time\":\"2013-10-18 21:31:21\",\"native_name\"\
:\"\",\"videoname\":\"\u751F\u6D3B\u5927\u7206\u70B8 \u7B2C7\u96C6\u7B2C5\u96C6\
\ 720P\",\"revision\":0},{\"subtype\":\"\u5176\u4ED6\",\"id\":244624,\"lang\"\
:{\"desc\":\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langcht\"\
:true,\"langchs\":true}},\"vote_score\":0,\"upload_time\":\"2013-10-18 20:46:57\"\
,\"native_name\":\"The Big Bang Theory S07E05\",\"videoname\":\"\u751F\u6D3B\
\u5927\u7206\u70B8\u7B2C\u4E03\u5B63\u7B2C5\u96C6\",\"revision\":0},{\"subtype\"\
:\"Subrip(srt)\",\"id\":585062,\"lang\":{\"desc\":\"\u82F1 \u7B80 \u7E41 \u53CC\
\u8BED\",\"langlist\":{\"langchs\":true,\"langeng\":true,\"langdou\":true,\"\
langcht\":true}},\"vote_score\":0,\"upload_time\":\"2013-10-17 17:31:00\"\
,\"release_site\":\"\u4EBA\u4EBA\u5F71\u89C6YYeTs\",\"native_name\":\"\u751F\
\u6D3B\u5927\u7206\u70B8 \u7B2C7\u96C6\u7B2C5\u96C6\",\"videoname\":\"The\
\ Big Bang Theory S07E05\",\"revision\":0}],\"action\":\"search\"}}\n"
headers:
access-control-allow-origin:
- '*'
connection:
- keep-alive
content-type:
- application/json
date:
- Sat, 30 Nov 2019 07:14:39 GMT
server:
- nginx
transfer-encoding:
- chunked
vary:
- Accept-Encoding
status:
code: 200
message: OK
version: 1

View File

@ -0,0 +1,98 @@
interactions:
- request:
body: null
headers:
User-Agent:
- Sub-Zero/2
method: GET
uri: https://api.assrt.net/v1/sub/search?q=%5B%27Man+of+Steel+2013%27%5D&token=SECRET&is_file=%5B%271%27%5D
response:
body:
string: "{\"status\":0,\"sub\":{\"keyword\":\"Man of Steel 2013\",\"result\"\
:\"succeed\",\"subs\":[{\"subtype\":\"SSA\",\"id\":618185,\"lang\":{\"desc\"\
:\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\",\"langlist\":{\"langchs\":true,\"langeng\"\
:true,\"langdou\":true,\"langcht\":true}},\"vote_score\":0,\"upload_time\"\
:\"2018-01-26 12:19:27\",\"release_site\":\"CMCT\",\"native_name\":\"\u8D85\
\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF.Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\
\u7E41\u82F1\u53CC\u8BED\u5B57\u5E55\",\"videoname\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT\"\
,\"revision\":0},{\"subtype\":\"SSA\",\"id\":316973,\"vote_score\":0,\"upload_time\"\
:\"2014-12-06 04:13:44\",\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\
\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\u96C4\",\"videoname\":\"Man\
\ of Steel 2013 720p BluRay x264 DTS-WiKi\",\"revision\":0},{\"subtype\":\"\
Subrip(srt)\",\"id\":253629,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"\
langcht\":true}},\"vote_score\":0,\"upload_time\":\"2014-03-17 15:30:19\"\
,\"native_name\":\"\",\"videoname\":\"[\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4\
]Man.of.Steel.(2013).BDRip.720p.DTS.X264-Felony\",\"revision\":0},{\"subtype\"\
:\"SSA\",\"id\":252930,\"lang\":{\"desc\":\"\u82F1 \u7E41 \u53CC\u8BED\",\"\
langlist\":{\"langeng\":true,\"langdou\":true,\"langcht\":true}},\"vote_score\"\
:45,\"upload_time\":\"2014-03-05 18:10:39\",\"native_name\":\"\u8D85\u4EBA\
\uFF1A\u92FC\u9435\u82F1\u96C4\",\"videoname\":\"Man of Steel\",\"revision\"\
:0},{\"subtype\":\"Subrip(srt)\",\"id\":246016,\"lang\":{\"desc\":\"\u82F1\
\ \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"langchs\"\
:true}},\"vote_score\":0,\"upload_time\":\"2013-11-09 10:43:13\",\"native_name\"\
:\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\
\u82F1\u96C4\\/\u3010TLF\u5B57\u5E55\u7EC4\u3011Man of Steel\",\"videoname\"\
:\"Man.of.Steel.2013.720p.BluRay.x264.YIFY\",\"revision\":0},{\"subtype\"\
:\"SSA\",\"id\":245602,\"lang\":{\"desc\":\"\u7B80 \u7E41 \u53CC\u8BED\",\"\
langlist\":{\"langchs\":true,\"langdou\":true,\"langcht\":true}},\"vote_score\"\
:0,\"upload_time\":\"2013-11-02 05:56:40\",\"native_name\":\"\u8D85\u4EBA\uFF1A\
\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\u96C4\\/\u7279\
\u6548\u53CC\u8BED\\/\u84DD\u5149\u5B57\u5E55\",\"videoname\":\"Man of Steel\
\ 1080p.bluray.x264-sector7\",\"revision\":0},{\"subtype\":\"\u5176\u4ED6\"\
,\"id\":245568,\"lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"langchs\":true}},\"\
vote_score\":0,\"upload_time\":\"2013-10-31 23:41:07\",\"native_name\":\"\u8D85\
\u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\u96C4\"\
,\"videoname\":\"Man.of.Steel.2013\",\"revision\":0},{\"subtype\":\"VobSub\"\
,\"id\":245259,\"vote_score\":100,\"upload_time\":\"2013-10-27 07:04:18\"\
,\"native_name\":\"\",\"videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\
,\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":245131,\"lang\":{\"desc\"\
:\"\u7B80\",\"langlist\":{\"langchs\":true}},\"vote_score\":80,\"upload_time\"\
:\"2013-10-25 04:50:37\",\"native_name\":\"\u8D85\u4EBA-\u94A2\u94C1\u4E4B\
\u8EAF\",\"videoname\":\"Man.Of.Steel\",\"revision\":0},{\"subtype\":\"SSA\"\
,\"id\":245056,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"langcht\":true}},\"\
vote_score\":0,\"upload_time\":\"2013-10-24 07:52:31\",\"native_name\":\"\"\
,\"videoname\":\"\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4 Man of Steel (2013)\
\ 1080p.cht\",\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":244971,\"\
lang\":{\"desc\":\"\u7B80 \u7E41\",\"langlist\":{\"langchs\":true,\"langcht\"\
:true}},\"vote_score\":10,\"upload_time\":\"2013-10-23 00:46:40\",\"native_name\"\
:\"\u84DD\u5149\u539F\u76D8\u5B57\u5E55\",\"videoname\":\"\u8D85\u4EBA: \u94A2\
\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\u96C4(\u6E2F\\/\u53F0\
).Man.of.Steel.2013.BluRay CEE\u7248\u84DD\u5149\u539F\u76D8\",\"revision\"\
:0},{\"subtype\":\"Subrip(srt)\",\"id\":244969,\"lang\":{\"desc\":\"\",\"\
langlist\":{}},\"vote_score\":0,\"upload_time\":\"2013-10-22 23:39:00\",\"\
native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF 3D\\/\u8D85\u4EBA\
\uFF1A\u94A2\u94C1\u82F1\u96C4\\/Man of Steel 3D\",\"videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\
,\"revision\":0},{\"subtype\":\"SSA\",\"id\":244960,\"lang\":{\"desc\":\"\u82F1\
\ \u7B80\",\"langlist\":{\"langeng\":true,\"langchs\":true}},\"vote_score\"\
:0,\"upload_time\":\"2013-10-22 22:06:42\",\"native_name\":\"\u8D85\u4EBA\
:\u94A2\u94C1\u4E4B\u8EAF\",\"videoname\":\"Superman: Man of Steel BD\",\"\
revision\":0},{\"subtype\":\"\u5176\u4ED6\",\"id\":244939,\"lang\":{\"desc\"\
:\"\",\"langlist\":{}},\"vote_score\":0,\"upload_time\":\"2013-10-22 17:42:45\"\
,\"native_name\":\"\",\"videoname\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\
\u8EAF.Man.of.Steel.2013.1080p-PublicHD 2D.1080p\u62163D.1080p.HSBS-PublicHD\"\
,\"revision\":0},{\"subtype\":\"Subrip(srt)\",\"id\":244863,\"lang\":{\"desc\"\
:\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"\
langchs\":true}},\"vote_score\":0,\"upload_time\":\"2013-10-21 16:52:23\"\
,\"native_name\":\"\\/Man of Steel \\/\u8D85\u4EBA:\u94A2\u94C1\u4E4B\u8EAF\
\\/\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA:\u94A2\u94C1\u82F1\u96C4\",\"videoname\"\
:\"man.of.steel.2013.720p.bluray.x264-felony.mkv\",\"revision\":0}],\"action\"\
:\"search\"}}\n"
headers:
access-control-allow-origin:
- '*'
connection:
- keep-alive
content-type:
- application/json
date:
- Sat, 30 Nov 2019 08:28:00 GMT
server:
- nginx
transfer-encoding:
- chunked
vary:
- Accept-Encoding
status:
code: 200
message: OK
version: 1

View File

@ -0,0 +1,97 @@
interactions:
- request:
body: null
headers:
User-Agent:
- Sub-Zero/2
method: GET
uri: https://api.assrt.net/v1/sub/search?q=%5B%27Man+of+Steel+2013%27%5D&token=SECRET&is_file=%5B%271%27%5D
response:
body:
string: "{\"status\":0,\"sub\":{\"keyword\":\"Man of Steel 2013\",\"result\"\
:\"succeed\",\"subs\":[{\"subtype\":\"SSA\",\"id\":618185,\"lang\":{\"desc\"\
:\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\",\"langlist\":{\"langcht\":true,\"langeng\"\
:true,\"langdou\":true,\"langchs\":true}},\"vote_score\":0,\"upload_time\"\
:\"2018-01-26 12:19:27\",\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\
\u8EAF.Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u7E41\u82F1\
\u53CC\u8BED\u5B57\u5E55\",\"videoname\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT\"\
,\"release_site\":\"CMCT\",\"revision\":0},{\"upload_time\":\"2014-12-06 04:13:44\"\
,\"subtype\":\"SSA\",\"id\":316973,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\
\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\u96C4\",\"videoname\"\
:\"Man of Steel 2013 720p BluRay x264 DTS-WiKi\",\"revision\":0,\"vote_score\"\
:0},{\"upload_time\":\"2014-03-17 15:30:19\",\"subtype\":\"Subrip(srt)\",\"\
revision\":0,\"id\":253629,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"\
langcht\":true}},\"videoname\":\"[\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4]Man.of.Steel.(2013).BDRip.720p.DTS.X264-Felony\"\
,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2014-03-05 18:10:39\"\
,\"subtype\":\"SSA\",\"revision\":0,\"id\":252930,\"lang\":{\"desc\":\"\u82F1\
\ \u7E41 \u53CC\u8BED\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"\
langdou\":true}},\"videoname\":\"Man of Steel\",\"native_name\":\"\u8D85\u4EBA\
\uFF1A\u92FC\u9435\u82F1\u96C4\",\"vote_score\":45},{\"upload_time\":\"2013-11-09\
\ 10:43:13\",\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":246016,\"lang\"\
:{\"desc\":\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\"\
:true,\"langcht\":true}},\"videoname\":\"Man.of.Steel.2013.720p.BluRay.x264.YIFY\"\
,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\
\uFF1A\u94A2\u94C1\u82F1\u96C4\\/\u3010TLF\u5B57\u5E55\u7EC4\u3011Man of Steel\"\
,\"vote_score\":0},{\"upload_time\":\"2013-11-02 05:56:40\",\"subtype\":\"\
SSA\",\"revision\":0,\"id\":245602,\"lang\":{\"desc\":\"\u7B80 \u7E41 \u53CC\
\u8BED\",\"langlist\":{\"langcht\":true,\"langchs\":true,\"langdou\":true}},\"\
videoname\":\"Man of Steel 1080p.bluray.x264-sector7\",\"native_name\":\"\u8D85\
\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\
\u96C4\\/\u7279\u6548\u53CC\u8BED\\/\u84DD\u5149\u5B57\u5E55\",\"vote_score\"\
:0},{\"upload_time\":\"2013-10-31 23:41:07\",\"subtype\":\"\u5176\u4ED6\"\
,\"revision\":0,\"id\":245568,\"lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"\
langchs\":true}},\"videoname\":\"Man.of.Steel.2013\",\"native_name\":\"\u8D85\
\u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\u96C4\"\
,\"vote_score\":0},{\"upload_time\":\"2013-10-27 07:04:18\",\"subtype\":\"\
VobSub\",\"id\":245259,\"native_name\":\"\",\"videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\
,\"revision\":0,\"vote_score\":100},{\"upload_time\":\"2013-10-25 04:50:37\"\
,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":245131,\"lang\":{\"desc\"\
:\"\u7B80\",\"langlist\":{\"langchs\":true}},\"videoname\":\"Man.Of.Steel\"\
,\"native_name\":\"\u8D85\u4EBA-\u94A2\u94C1\u4E4B\u8EAF\",\"vote_score\"\
:80},{\"upload_time\":\"2013-10-24 07:52:31\",\"subtype\":\"SSA\",\"revision\"\
:0,\"id\":245056,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"langcht\":true}},\"\
videoname\":\"\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4 Man of Steel (2013) 1080p.cht\"\
,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2013-10-23 00:46:40\"\
,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":244971,\"lang\":{\"desc\"\
:\"\u7B80 \u7E41\",\"langlist\":{\"langcht\":true,\"langchs\":true}},\"videoname\"\
:\"\u8D85\u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\
\u96C4(\u6E2F\\/\u53F0).Man.of.Steel.2013.BluRay CEE\u7248\u84DD\u5149\u539F\
\u76D8\",\"native_name\":\"\u84DD\u5149\u539F\u76D8\u5B57\u5E55\",\"vote_score\"\
:10},{\"upload_time\":\"2013-10-22 23:39:00\",\"subtype\":\"Subrip(srt)\"\
,\"revision\":0,\"id\":244969,\"lang\":{\"desc\":\"\",\"langlist\":{}},\"\
videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\
,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF 3D\\/\u8D85\u4EBA\
\uFF1A\u94A2\u94C1\u82F1\u96C4\\/Man of Steel 3D\",\"vote_score\":0},{\"upload_time\"\
:\"2013-10-22 22:06:42\",\"subtype\":\"SSA\",\"revision\":0,\"id\":244960,\"\
lang\":{\"desc\":\"\u82F1 \u7B80\",\"langlist\":{\"langchs\":true,\"langeng\"\
:true}},\"videoname\":\"Superman: Man of Steel BD\",\"native_name\":\"\u8D85\
\u4EBA:\u94A2\u94C1\u4E4B\u8EAF\",\"vote_score\":0},{\"upload_time\":\"2013-10-22\
\ 17:42:45\",\"subtype\":\"\u5176\u4ED6\",\"revision\":0,\"id\":244939,\"\
lang\":{\"desc\":\"\",\"langlist\":{}},\"videoname\":\"\u8D85\u4EBA\uFF1A\u94A2\
\u94C1\u4E4B\u8EAF.Man.of.Steel.2013.1080p-PublicHD 2D.1080p\u62163D.1080p.HSBS-PublicHD\"\
,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2013-10-21 16:52:23\"\
,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":244863,\"lang\":{\"desc\"\
:\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\":true,\"\
langcht\":true}},\"videoname\":\"man.of.steel.2013.720p.bluray.x264-felony.mkv\"\
,\"native_name\":\"\\/Man of Steel \\/\u8D85\u4EBA:\u94A2\u94C1\u4E4B\u8EAF\
\\/\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA:\u94A2\u94C1\u82F1\u96C4\",\"vote_score\"\
:0}],\"action\":\"search\"}}\n"
headers:
access-control-allow-origin:
- '*'
connection:
- keep-alive
content-type:
- application/json
date:
- Sat, 30 Nov 2019 07:14:39 GMT
server:
- nginx
transfer-encoding:
- chunked
vary:
- Accept-Encoding
status:
code: 200
message: OK
version: 1

View File

@ -0,0 +1,97 @@
interactions:
- request:
body: null
headers:
User-Agent:
- Sub-Zero/2
method: GET
uri: https://api.assrt.net/v1/sub/search?q=%5B%27Man+of+Steel+2013%27%5D&token=SECRET&is_file=%5B%271%27%5D
response:
body:
string: "{\"status\":0,\"sub\":{\"keyword\":\"Man of Steel 2013\",\"result\"\
:\"succeed\",\"subs\":[{\"subtype\":\"SSA\",\"id\":618185,\"lang\":{\"desc\"\
:\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\",\"langlist\":{\"langcht\":true,\"langeng\"\
:true,\"langdou\":true,\"langchs\":true}},\"vote_score\":0,\"upload_time\"\
:\"2018-01-26 12:19:27\",\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\
\u8EAF.Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u7E41\u82F1\
\u53CC\u8BED\u5B57\u5E55\",\"videoname\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT\"\
,\"release_site\":\"CMCT\",\"revision\":0},{\"upload_time\":\"2014-12-06 04:13:44\"\
,\"subtype\":\"SSA\",\"id\":316973,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\
\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\u96C4\",\"videoname\"\
:\"Man of Steel 2013 720p BluRay x264 DTS-WiKi\",\"revision\":0,\"vote_score\"\
:0},{\"upload_time\":\"2014-03-17 15:30:19\",\"subtype\":\"Subrip(srt)\",\"\
revision\":0,\"id\":253629,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"\
langcht\":true}},\"videoname\":\"[\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4]Man.of.Steel.(2013).BDRip.720p.DTS.X264-Felony\"\
,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2014-03-05 18:10:39\"\
,\"subtype\":\"SSA\",\"revision\":0,\"id\":252930,\"lang\":{\"desc\":\"\u82F1\
\ \u7E41 \u53CC\u8BED\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"\
langdou\":true}},\"videoname\":\"Man of Steel\",\"native_name\":\"\u8D85\u4EBA\
\uFF1A\u92FC\u9435\u82F1\u96C4\",\"vote_score\":45},{\"upload_time\":\"2013-11-09\
\ 10:43:13\",\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":246016,\"lang\"\
:{\"desc\":\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\"\
:true,\"langcht\":true}},\"videoname\":\"Man.of.Steel.2013.720p.BluRay.x264.YIFY\"\
,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\
\uFF1A\u94A2\u94C1\u82F1\u96C4\\/\u3010TLF\u5B57\u5E55\u7EC4\u3011Man of Steel\"\
,\"vote_score\":0},{\"upload_time\":\"2013-11-02 05:56:40\",\"subtype\":\"\
SSA\",\"revision\":0,\"id\":245602,\"lang\":{\"desc\":\"\u7B80 \u7E41 \u53CC\
\u8BED\",\"langlist\":{\"langcht\":true,\"langchs\":true,\"langdou\":true}},\"\
videoname\":\"Man of Steel 1080p.bluray.x264-sector7\",\"native_name\":\"\u8D85\
\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\
\u96C4\\/\u7279\u6548\u53CC\u8BED\\/\u84DD\u5149\u5B57\u5E55\",\"vote_score\"\
:0},{\"upload_time\":\"2013-10-31 23:41:07\",\"subtype\":\"\u5176\u4ED6\"\
,\"revision\":0,\"id\":245568,\"lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"\
langchs\":true}},\"videoname\":\"Man.of.Steel.2013\",\"native_name\":\"\u8D85\
\u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\u96C4\"\
,\"vote_score\":0},{\"upload_time\":\"2013-10-27 07:04:18\",\"subtype\":\"\
VobSub\",\"id\":245259,\"native_name\":\"\",\"videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\
,\"revision\":0,\"vote_score\":100},{\"upload_time\":\"2013-10-25 04:50:37\"\
,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":245131,\"lang\":{\"desc\"\
:\"\u7B80\",\"langlist\":{\"langchs\":true}},\"videoname\":\"Man.Of.Steel\"\
,\"native_name\":\"\u8D85\u4EBA-\u94A2\u94C1\u4E4B\u8EAF\",\"vote_score\"\
:80},{\"upload_time\":\"2013-10-24 07:52:31\",\"subtype\":\"SSA\",\"revision\"\
:0,\"id\":245056,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"langcht\":true}},\"\
videoname\":\"\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4 Man of Steel (2013) 1080p.cht\"\
,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2013-10-23 00:46:40\"\
,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":244971,\"lang\":{\"desc\"\
:\"\u7B80 \u7E41\",\"langlist\":{\"langcht\":true,\"langchs\":true}},\"videoname\"\
:\"\u8D85\u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\
\u96C4(\u6E2F\\/\u53F0).Man.of.Steel.2013.BluRay CEE\u7248\u84DD\u5149\u539F\
\u76D8\",\"native_name\":\"\u84DD\u5149\u539F\u76D8\u5B57\u5E55\",\"vote_score\"\
:10},{\"upload_time\":\"2013-10-22 23:39:00\",\"subtype\":\"Subrip(srt)\"\
,\"revision\":0,\"id\":244969,\"lang\":{\"desc\":\"\",\"langlist\":{}},\"\
videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\
,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF 3D\\/\u8D85\u4EBA\
\uFF1A\u94A2\u94C1\u82F1\u96C4\\/Man of Steel 3D\",\"vote_score\":0},{\"upload_time\"\
:\"2013-10-22 22:06:42\",\"subtype\":\"SSA\",\"revision\":0,\"id\":244960,\"\
lang\":{\"desc\":\"\u82F1 \u7B80\",\"langlist\":{\"langchs\":true,\"langeng\"\
:true}},\"videoname\":\"Superman: Man of Steel BD\",\"native_name\":\"\u8D85\
\u4EBA:\u94A2\u94C1\u4E4B\u8EAF\",\"vote_score\":0},{\"upload_time\":\"2013-10-22\
\ 17:42:45\",\"subtype\":\"\u5176\u4ED6\",\"revision\":0,\"id\":244939,\"\
lang\":{\"desc\":\"\",\"langlist\":{}},\"videoname\":\"\u8D85\u4EBA\uFF1A\u94A2\
\u94C1\u4E4B\u8EAF.Man.of.Steel.2013.1080p-PublicHD 2D.1080p\u62163D.1080p.HSBS-PublicHD\"\
,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2013-10-21 16:52:23\"\
,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":244863,\"lang\":{\"desc\"\
:\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\":true,\"\
langcht\":true}},\"videoname\":\"man.of.steel.2013.720p.bluray.x264-felony.mkv\"\
,\"native_name\":\"\\/Man of Steel \\/\u8D85\u4EBA:\u94A2\u94C1\u4E4B\u8EAF\
\\/\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA:\u94A2\u94C1\u82F1\u96C4\",\"vote_score\"\
:0}],\"action\":\"search\"}}\n"
headers:
access-control-allow-origin:
- '*'
connection:
- keep-alive
content-type:
- application/json
date:
- Sat, 30 Nov 2019 07:14:39 GMT
server:
- nginx
transfer-encoding:
- chunked
vary:
- Accept-Encoding
status:
code: 200
message: OK
version: 1

View File

@ -0,0 +1,97 @@
interactions:
- request:
body: null
headers:
User-Agent:
- Sub-Zero/2
method: GET
uri: https://api.assrt.net/v1/sub/search?q=%5B%27Man+of+Steel+2013%27%5D&token=SECRET&is_file=%5B%271%27%5D
response:
body:
string: "{\"status\":0,\"sub\":{\"keyword\":\"Man of Steel 2013\",\"result\"\
:\"succeed\",\"subs\":[{\"subtype\":\"SSA\",\"id\":618185,\"lang\":{\"desc\"\
:\"\u82F1 \u7B80 \u7E41 \u53CC\u8BED\",\"langlist\":{\"langcht\":true,\"langeng\"\
:true,\"langdou\":true,\"langchs\":true}},\"vote_score\":0,\"upload_time\"\
:\"2018-01-26 12:19:27\",\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\
\u8EAF.Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT.\u7B80\u7E41\u82F1\
\u53CC\u8BED\u5B57\u5E55\",\"videoname\":\"Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT\"\
,\"release_site\":\"CMCT\",\"revision\":0},{\"upload_time\":\"2014-12-06 04:13:44\"\
,\"subtype\":\"SSA\",\"id\":316973,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\
\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\u96C4\",\"videoname\"\
:\"Man of Steel 2013 720p BluRay x264 DTS-WiKi\",\"revision\":0,\"vote_score\"\
:0},{\"upload_time\":\"2014-03-17 15:30:19\",\"subtype\":\"Subrip(srt)\",\"\
revision\":0,\"id\":253629,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"\
langcht\":true}},\"videoname\":\"[\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4]Man.of.Steel.(2013).BDRip.720p.DTS.X264-Felony\"\
,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2014-03-05 18:10:39\"\
,\"subtype\":\"SSA\",\"revision\":0,\"id\":252930,\"lang\":{\"desc\":\"\u82F1\
\ \u7E41 \u53CC\u8BED\",\"langlist\":{\"langeng\":true,\"langcht\":true,\"\
langdou\":true}},\"videoname\":\"Man of Steel\",\"native_name\":\"\u8D85\u4EBA\
\uFF1A\u92FC\u9435\u82F1\u96C4\",\"vote_score\":45},{\"upload_time\":\"2013-11-09\
\ 10:43:13\",\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":246016,\"lang\"\
:{\"desc\":\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\"\
:true,\"langcht\":true}},\"videoname\":\"Man.of.Steel.2013.720p.BluRay.x264.YIFY\"\
,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\
\uFF1A\u94A2\u94C1\u82F1\u96C4\\/\u3010TLF\u5B57\u5E55\u7EC4\u3011Man of Steel\"\
,\"vote_score\":0},{\"upload_time\":\"2013-11-02 05:56:40\",\"subtype\":\"\
SSA\",\"revision\":0,\"id\":245602,\"lang\":{\"desc\":\"\u7B80 \u7E41 \u53CC\
\u8BED\",\"langlist\":{\"langcht\":true,\"langchs\":true,\"langdou\":true}},\"\
videoname\":\"Man of Steel 1080p.bluray.x264-sector7\",\"native_name\":\"\u8D85\
\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA\uFF1A\u94A2\u94C1\u82F1\
\u96C4\\/\u7279\u6548\u53CC\u8BED\\/\u84DD\u5149\u5B57\u5E55\",\"vote_score\"\
:0},{\"upload_time\":\"2013-10-31 23:41:07\",\"subtype\":\"\u5176\u4ED6\"\
,\"revision\":0,\"id\":245568,\"lang\":{\"desc\":\"\u7B80\",\"langlist\":{\"\
langchs\":true}},\"videoname\":\"Man.of.Steel.2013\",\"native_name\":\"\u8D85\
\u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\u96C4\"\
,\"vote_score\":0},{\"upload_time\":\"2013-10-27 07:04:18\",\"subtype\":\"\
VobSub\",\"id\":245259,\"native_name\":\"\",\"videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\
,\"revision\":0,\"vote_score\":100},{\"upload_time\":\"2013-10-25 04:50:37\"\
,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":245131,\"lang\":{\"desc\"\
:\"\u7B80\",\"langlist\":{\"langchs\":true}},\"videoname\":\"Man.Of.Steel\"\
,\"native_name\":\"\u8D85\u4EBA-\u94A2\u94C1\u4E4B\u8EAF\",\"vote_score\"\
:80},{\"upload_time\":\"2013-10-24 07:52:31\",\"subtype\":\"SSA\",\"revision\"\
:0,\"id\":245056,\"lang\":{\"desc\":\"\u7E41\",\"langlist\":{\"langcht\":true}},\"\
videoname\":\"\u8D85\u4EBA \u92FC\u9435\u82F1\u96C4 Man of Steel (2013) 1080p.cht\"\
,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2013-10-23 00:46:40\"\
,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":244971,\"lang\":{\"desc\"\
:\"\u7B80 \u7E41\",\"langlist\":{\"langcht\":true,\"langchs\":true}},\"videoname\"\
:\"\u8D85\u4EBA: \u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA: \u94A2\u94C1\u82F1\
\u96C4(\u6E2F\\/\u53F0).Man.of.Steel.2013.BluRay CEE\u7248\u84DD\u5149\u539F\
\u76D8\",\"native_name\":\"\u84DD\u5149\u539F\u76D8\u5B57\u5E55\",\"vote_score\"\
:10},{\"upload_time\":\"2013-10-22 23:39:00\",\"subtype\":\"Subrip(srt)\"\
,\"revision\":0,\"id\":244969,\"lang\":{\"desc\":\"\",\"langlist\":{}},\"\
videoname\":\"Man.Of.Steel.3D.2013.1080p.BluRay.Half-SBS.DTS.x264-PublicHD\"\
,\"native_name\":\"\u8D85\u4EBA\uFF1A\u94A2\u94C1\u4E4B\u8EAF 3D\\/\u8D85\u4EBA\
\uFF1A\u94A2\u94C1\u82F1\u96C4\\/Man of Steel 3D\",\"vote_score\":0},{\"upload_time\"\
:\"2013-10-22 22:06:42\",\"subtype\":\"SSA\",\"revision\":0,\"id\":244960,\"\
lang\":{\"desc\":\"\u82F1 \u7B80\",\"langlist\":{\"langchs\":true,\"langeng\"\
:true}},\"videoname\":\"Superman: Man of Steel BD\",\"native_name\":\"\u8D85\
\u4EBA:\u94A2\u94C1\u4E4B\u8EAF\",\"vote_score\":0},{\"upload_time\":\"2013-10-22\
\ 17:42:45\",\"subtype\":\"\u5176\u4ED6\",\"revision\":0,\"id\":244939,\"\
lang\":{\"desc\":\"\",\"langlist\":{}},\"videoname\":\"\u8D85\u4EBA\uFF1A\u94A2\
\u94C1\u4E4B\u8EAF.Man.of.Steel.2013.1080p-PublicHD 2D.1080p\u62163D.1080p.HSBS-PublicHD\"\
,\"native_name\":\"\",\"vote_score\":0},{\"upload_time\":\"2013-10-21 16:52:23\"\
,\"subtype\":\"Subrip(srt)\",\"revision\":0,\"id\":244863,\"lang\":{\"desc\"\
:\"\u82F1 \u7B80 \u7E41\",\"langlist\":{\"langeng\":true,\"langchs\":true,\"\
langcht\":true}},\"videoname\":\"man.of.steel.2013.720p.bluray.x264-felony.mkv\"\
,\"native_name\":\"\\/Man of Steel \\/\u8D85\u4EBA:\u94A2\u94C1\u4E4B\u8EAF\
\\/\u94A2\u94C1\u4E4B\u8EAF\\/\u8D85\u4EBA:\u94A2\u94C1\u82F1\u96C4\",\"vote_score\"\
:0}],\"action\":\"search\"}}\n"
headers:
access-control-allow-origin:
- '*'
connection:
- keep-alive
content-type:
- application/json
date:
- Sat, 30 Nov 2019 07:27:41 GMT
server:
- nginx
transfer-encoding:
- chunked
vary:
- Accept-Encoding
status:
code: 200
message: OK
version: 1

117
tests/conftest.py Normal file
View File

@ -0,0 +1,117 @@
# -*- coding: utf-8 -*-
import libs
from io import BytesIO
import os
from zipfile import ZipFile
import pytest
import requests
try:
from unittest.mock import Mock
except ImportError:
from mock import Mock
from subliminal import Episode, Movie
from subliminal.cache import region
@pytest.fixture(autouse=True, scope='session')
def configure_region():
region.configure('dogpile.cache.null')
region.configure = Mock()
@pytest.fixture
def movies():
return {'man_of_steel':
Movie(os.path.join('Man of Steel (2013)', 'man.of.steel.2013.720p.bluray.x264-felony.mkv'), 'Man of Steel',
format='BluRay', release_group='felony', resolution='720p', video_codec='h264', audio_codec='DTS',
imdb_id='tt0770828', size=7033732714, year=2013,
hashes={'napiprojekt': '6303e7ee6a835e9fcede9fb2fb00cb36',
'opensubtitles': '5b8f8f4e41ccb21e',
'shooter': '314f454ab464775498ae6f1f5ad813a9;fdaa8b702d8936feba2122e93ba5c44f;'
'0a6935e3436aa7db5597ef67a2c494e3;4d269733f36ddd49f71e92732a462fe5',
'thesubdb': 'ad32876133355929d814457537e12dc2'}),
'enders_game':
Movie('enders.game.2013.720p.bluray.x264-sparks.mkv', 'Ender\'s Game',
format='BluRay', release_group='sparks', resolution='720p', video_codec='h264', year=2013),
'interstellar':
Movie('Interstellar.2014.2014.1080p.BluRay.x264.YIFY.rar', 'Interstellar',
format='BluRay', release_group='YIFY', resolution='1080p', video_codec='h264', year=2014)}
@pytest.fixture
def episodes():
return {'bbt_s07e05':
Episode(os.path.join('The Big Bang Theory', 'Season 07',
'The.Big.Bang.Theory.S07E05.720p.HDTV.X264-DIMENSION.mkv'),
'The Big Bang Theory', 7, 5, title='The Workplace Proximity', year=2007, tvdb_id=4668379,
series_tvdb_id=80379, series_imdb_id='tt0898266', format='HDTV', release_group='DIMENSION',
resolution='720p', video_codec='h264', audio_codec='AC3', imdb_id='tt3229392', size=501910737,
hashes={'napiprojekt': '6303e7ee6a835e9fcede9fb2fb00cb36',
'opensubtitles': '6878b3ef7c1bd19e',
'shooter': 'c13e0e5243c56d280064d344676fff94;cd4184d1c0c623735f6db90841ce15fc;'
'3faefd72f92b63f2504269b4f484a377;8c68d1ef873afb8ba0cc9f97cbac41c1',
'thesubdb': '9dbbfb7ba81c9a6237237dae8589fccc'}),
'got_s03e10':
Episode(os.path.join('Game of Thrones', 'Season 03',
'Game.of.Thrones.S03E10.Mhysa.720p.WEB-DL.DD5.1.H.264-NTb.mkv'),
'Game of Thrones', 3, 10, title='Mhysa', tvdb_id=4517466, series_tvdb_id=121361,
series_imdb_id='tt0944947', format='WEB-DL', release_group='NTb', resolution='720p',
video_codec='h264', audio_codec='AC3', imdb_id='tt2178796', size=2142810931,
hashes={'napiprojekt': '6303e7ee6a835e9fcede9fb2fb00cb36',
'opensubtitles': 'b850baa096976c22',
'shooter': 'b02d992c04ad74b31c252bd5a097a036;ef1b32f873b2acf8f166fc266bdf011a;'
'82ce34a3bcee0c66ed3b26d900d31cca;78113770551f3efd1e2d4ec45898c59c',
'thesubdb': 'b1f899c77f4c960b84b8dbf840d4e42d'}),
'dallas_s01e03':
Episode('Dallas.S01E03.mkv', 'Dallas', 1, 3, title='Spy in the House', year=1978, tvdb_id=228224,
series_tvdb_id=77092, series_imdb_id='tt0077000'),
'dallas_2012_s01e03':
Episode('Dallas.2012.S01E03.mkv', 'Dallas', 1, 3, title='The Price You Pay', year=2012,
original_series=False, tvdb_id=4199511, series_tvdb_id=242521, series_imdb_id='tt1723760',
imdb_id='tt2205526'),
'marvels_agents_of_shield_s02e06':
Episode('Marvels.Agents.of.S.H.I.E.L.D.S02E06.720p.HDTV.x264-KILLERS.mkv',
'Marvel\'s Agents of S.H.I.E.L.D.', 2, 6, year=2013, format='HDTV', release_group='KILLERS',
resolution='720p', video_codec='h264'),
'csi_cyber_s02e03':
Episode('CSI.Cyber.S02E03.hdtv-lol.mp4', 'CSI: Cyber', 2, 3, format='HDTV', release_group='lol'),
'the_x_files_s10e02':
Episode('The.X-Files.S10E02.HDTV.x264-KILLERS.mp4', 'The X-Files', 10, 2, format='HDTV',
release_group='KILLERS', video_codec='h264'),
'colony_s01e09':
Episode('Colony.S01E09.720p.HDTV.x264-KILLERS.mkv', 'Colony', 1, 9, title='Zero Day', year=2016,
tvdb_id=5463229, series_tvdb_id=284210, series_imdb_id='tt4209256', format='HDTV',
release_group='KILLERS', resolution='720p', video_codec='h264', imdb_id='tt4926022'),
'the_jinx_e05':
Episode('The.Jinx-The.Life.and.Deaths.of.Robert.Durst.E05.BDRip.x264-ROVERS.mkv',
'The Jinx: The Life and Deaths of Robert Durst', 1, 5, year=2015, original_series=True,
format='BluRay', release_group='ROVERS', video_codec='h264'),
'the_100_s03e09':
Episode('The.100.S03E09.720p.HDTV.x264-AVS.mkv', 'The 100', 3, 9, title='Stealing Fire', year=2014,
tvdb_id=5544536, series_tvdb_id=268592, series_imdb_id='tt2661044', format='HDTV',
release_group='AVS', resolution='720p', video_codec='h264', imdb_id='tt4799896'),
'csi_s15e18':
Episode('CSI.S15E18.720p.HDTV.X264.DIMENSION.mkv', 'CSI: Crime Scene Investigation', 15, 18,
title='The End Game', year=2000, tvdb_id=5104359, series_tvdb_id=72546, series_imdb_id='tt0247082',
format='HDTV', release_group='DIMENSION', resolution='720p', video_codec='h264',
imdb_id='tt4145952')}
@pytest.fixture(scope='session')
def mkv():
data_path = os.path.join('tests', 'data', 'mkv')
# download matroska test suite
if not os.path.exists(data_path) or len(os.listdir(data_path)) != 8:
r = requests.get('http://downloads.sourceforge.net/project/matroska/test_files/matroska_test_w1_1.zip')
with ZipFile(BytesIO(r.content), 'r') as f:
f.extractall(data_path, [m for m in f.namelist() if os.path.splitext(m)[1] == '.mkv'])
# populate a dict with mkv files
files = {}
for path in os.listdir(data_path):
name, _ = os.path.splitext(path)
files[name] = os.path.join(data_path, path)
return files

11
tests/libs.py Normal file
View File

@ -0,0 +1,11 @@
# coding=utf-8
import os
import sys
def set_libs():
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../libs/'))
set_libs()

172
tests/test_assrt.py Normal file
View File

@ -0,0 +1,172 @@
# -*- coding: utf-8 -*-
import os
from babelfish import language_converters
from subzero.language import Language
import pytest
from vcr import VCR
from urlparse import urlparse, parse_qs
from urllib import urlencode
from subliminal_patch.providers.assrt import AssrtSubtitle, AssrtProvider, \
language_contains, search_language_in_list, supported_languages
def remove_auth_token(request):
parsed_uri = urlparse(request.uri)
parsed_query = parse_qs(parsed_uri.query)
if 'token' in parsed_query:
parsed_query['token'] = 'SECRET'
parsed_uri = parsed_uri._replace(query=urlencode(parsed_query))
request.uri = parsed_uri.geturl()
return request
vcr = VCR(path_transformer=lambda path: path + '.yaml',
before_record_request=remove_auth_token,
record_mode=os.environ.get('VCR_RECORD_MODE', 'once'),
match_on=['method', 'scheme', 'host', 'port', 'path', 'body'],
cassette_library_dir=os.path.realpath(os.path.join('cassettes', 'assrt')))
TOKEN=os.environ.get('ASSRT_TOKEN', 'NO_TOKEN_PROVIDED')
def test_supported_languages():
assert set(supported_languages) == set([('zho', None, None),
('eng', None, None),
('zho', None, 'Hans'),
('zho', None, 'Hant')])
def test_language_contains():
assert language_contains(Language('zho'), Language('zho'))
assert language_contains(Language('zho', 'TW', None), Language('zho'))
assert language_contains(Language('zho', 'CN', None), Language('zho'))
assert language_contains(Language('zho', None, 'Hant'), Language('zho'))
assert language_contains(Language('zho', None, 'Hans'), Language('zho'))
assert language_contains(Language('zho', 'TW', 'Hant'), Language('zho'))
assert language_contains(Language('zho', 'CN', 'Hans'), Language('zho'))
assert language_contains(Language('zho', None, 'Hant'), Language('zho', None, 'Hant'))
assert language_contains(Language('zho', None, 'Hans'), Language('zho', None, 'Hans'))
def test_search_language_in_list():
assert search_language_in_list(Language('zho', None, 'Hant'), [Language('zho', None, 'Hant')])
assert search_language_in_list(Language('zho', None, 'Hans'), [Language('zho', None, 'Hans')])
assert search_language_in_list(Language('zho', None, 'Hant'), [Language('zho')])
assert search_language_in_list(Language('zho', None, 'Hans'), [Language('zho')])
assert search_language_in_list(Language('zho', None, 'Hant'), [Language('eng'), Language('zho')])
assert not search_language_in_list(Language('zho', None, 'Hans'), [Language('zho', None, 'Hant')])
assert search_language_in_list(Language('zho', None, 'Hans'), [Language('zho', None, 'Hant'), Language('zho')])
def test_get_matches_exact_movie_name(movies):
subtitle = AssrtSubtitle(Language('zho'), 253629,
'man.of.steel.2013.720p.bluray.x264-felony.mkv',
None, None)
matches = subtitle.get_matches(movies['man_of_steel'])
assert matches == {'title', 'format', 'release_group', 'year',
'video_codec', 'resolution'}
def test_get_matches_movie_name(movies):
subtitle = AssrtSubtitle(Language('zho'), 618185,
'Man.Of.Steel.2013.BluRay.720p.x264.AC3.2Audios-CMCT',
None, None)
matches = subtitle.get_matches(movies['man_of_steel'])
assert matches == {'title', 'format', 'year', 'video_codec', 'resolution'}
@pytest.mark.converter
def test_converter_convert_alpha3():
assert language_converters['assrt'].convert('zho', None, 'Hans') == 'chs'
assert language_converters['assrt'].convert('zho', None, 'Hant') == 'cht'
assert language_converters['assrt'].convert('eng') == 'eng'
@pytest.mark.converter
def test_converter_reverse():
assert language_converters['assrt'].reverse('chs') == ('zho', None, 'Hans')
assert language_converters['assrt'].reverse('cht') == ('zho', None, 'Hant')
assert language_converters['assrt'].reverse(u'簡體') == ('zho', None, 'Hans')
assert language_converters['assrt'].reverse(u'繁體') == ('zho', None, 'Hant')
assert language_converters['assrt'].reverse(u'简体') == ('zho', None, 'Hans')
assert language_converters['assrt'].reverse(u'繁体') == ('zho', None, 'Hant')
@pytest.mark.integration
@vcr.use_cassette
def test_query_movie_zh_Hans(movies):
languages = [Language('zho', None, 'Hant')]
video = movies['man_of_steel']
with AssrtProvider(TOKEN) as provider:
subtitles = provider.query(languages, video)
assert len(subtitles) == 8
@pytest.mark.integration
@vcr.use_cassette
def test_query_movie_zh_Hant(movies):
languages = [Language('zho', None, 'Hans')]
video = movies['man_of_steel']
with AssrtProvider(TOKEN) as provider:
subtitles = provider.query(languages, video)
assert len(subtitles) == 8
@pytest.mark.integration
@vcr.use_cassette
def test_query_movie_zh(movies):
languages = [Language('zho')]
video = movies['man_of_steel']
with AssrtProvider(TOKEN) as provider:
subtitles = provider.query(languages, video)
assert len(subtitles) == 16
@pytest.mark.integration
@vcr.use_cassette
def test_query_episode(episodes):
video = episodes['bbt_s07e05']
languages = [Language('zho', None, 'Hant'), Language('zho', None, 'Hans')]
with AssrtProvider(TOKEN) as provider:
subtitles = provider.query(languages, video)
assert len(subtitles) == 11
@pytest.mark.integration
@vcr.use_cassette
def test_query_list_subtitles(movies):
languages = [Language('zho', None, 'Hant'), Language('zho', None, 'Hans')]
video = movies['man_of_steel']
with AssrtProvider(TOKEN) as provider:
subtitles = provider.list_subtitles(video, languages)
assert len(subtitles) == 16
@pytest.mark.integration
@vcr.use_cassette
def test_download_subtitle(movies):
languages = [Language('zho', None, 'Hant')]
video = movies['man_of_steel']
with AssrtProvider(TOKEN) as provider:
subtitles = provider.list_subtitles(video, languages)
provider.download_subtitle(subtitles[0])
assert subtitles[0].content is not None
assert subtitles[0].language == Language('zho', None, 'Hant')
@pytest.mark.integration
@vcr.use_cassette
def test_download_subtitle_zh(movies):
languages = [Language('zho')]
video = movies['man_of_steel']
with AssrtProvider(TOKEN) as provider:
subtitles = provider.list_subtitles(video, languages)
provider.download_subtitle(subtitles[0])
assert subtitles[0].content is not None
assert subtitles[0].language == Language('zho')
@pytest.mark.integration
@vcr.use_cassette
def test_download_episode_subtitle(episodes):
languages = [Language('zho', None, 'Hant'), Language('zho', None, 'Hans')]
video = episodes['bbt_s07e05']
with AssrtProvider(TOKEN) as provider:
subtitles = provider.list_subtitles(video, languages)
provider.download_subtitle(subtitles[0])
assert subtitles[0].content is not None
assert subtitles[0].language == Language('zho', None, 'Hans')