[Gamersyde] Improved robustness, added duration and tests
Fix for Json syntax is now less error prone for Json syntax inside of values. Extractor is now also using native Json handling. Added tests for several videos that were producing errors in the first place.
This commit is contained in:
parent
e81a474603
commit
115c281672
|
@ -8,7 +8,6 @@ from .common import InfoExtractor
|
||||||
|
|
||||||
class GamersydeIE(InfoExtractor):
|
class GamersydeIE(InfoExtractor):
|
||||||
_VALID_URL = r'https?://(?:www\.)?gamersyde\.com/hqstream_'
|
_VALID_URL = r'https?://(?:www\.)?gamersyde\.com/hqstream_'
|
||||||
_TEST = {
|
|
||||||
'url': 'http://www.gamersyde.com/hqstream_bloodborne_birth_of_a_hero-34371_en.html',
|
'url': 'http://www.gamersyde.com/hqstream_bloodborne_birth_of_a_hero-34371_en.html',
|
||||||
'md5': 'f38d400d32f19724570040d5ce3a505f',
|
'md5': 'f38d400d32f19724570040d5ce3a505f',
|
||||||
'info_dict': {
|
'info_dict': {
|
||||||
|
@ -17,6 +16,11 @@ class GamersydeIE(InfoExtractor):
|
||||||
'title': 'Bloodborne - Birth of a hero',
|
'title': 'Bloodborne - Birth of a hero',
|
||||||
'thumbnail': 're:^https?://.*\.jpg$',
|
'thumbnail': 're:^https?://.*\.jpg$',
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'url': 'http://www.gamersyde.com/hqstream_dark_souls_ii_scholar_of_the_first_sin_gameplay_part_1-34417_en.html',
|
||||||
|
'info_dict': {
|
||||||
|
'ext': 'mp4',
|
||||||
}
|
}
|
||||||
|
|
||||||
def _calculateDuration(self, durationString):
|
def _calculateDuration(self, durationString):
|
||||||
|
@ -27,7 +31,6 @@ class GamersydeIE(InfoExtractor):
|
||||||
|
|
||||||
json = re.sub(r"{\s*(\w)", r'{"\1', json)
|
json = re.sub(r"{\s*(\w)", r'{"\1', json)
|
||||||
json = re.sub(r",\s*(\w)", r',"\1', json)
|
json = re.sub(r",\s*(\w)", r',"\1', json)
|
||||||
json = re.sub(r"(\w): ", r'\1":', json)
|
|
||||||
json = re.sub(r",\s*}", "}", json, flags=re.DOTALL)
|
json = re.sub(r",\s*}", "}", json, flags=re.DOTALL)
|
||||||
json = re.sub(r",\s*]", "]", json, flags=re.DOTALL)
|
json = re.sub(r",\s*]", "]", json, flags=re.DOTALL)
|
||||||
|
|
||||||
|
@ -40,7 +43,6 @@ class GamersydeIE(InfoExtractor):
|
||||||
|
|
||||||
filesJson = self._search_regex(r'playlist: (.*?)\}\);', webpage, 'files', flags=re.DOTALL)
|
filesJson = self._search_regex(r'playlist: (.*?)\}\);', webpage, 'files', flags=re.DOTALL)
|
||||||
filesJson = self._fixJsonSyntax(filesJson)
|
filesJson = self._fixJsonSyntax(filesJson)
|
||||||
|
|
||||||
data = json.loads(filesJson)
|
data = json.loads(filesJson)
|
||||||
playlist = data[0]
|
playlist = data[0]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue