Extraction: Rename get_response to extract_response and check that returned type is dict
This commit is contained in:
parent
ce8a658a0e
commit
e68ac26b4e
@ -322,23 +322,14 @@ def parse_info_prepare_for_html(renderer, additional_info={}):
|
|||||||
|
|
||||||
return item
|
return item
|
||||||
|
|
||||||
# TODO: Type checking
|
def extract_response(polymer_json):
|
||||||
def get_response(polymer_json):
|
|
||||||
'''return response, error'''
|
'''return response, error'''
|
||||||
|
response = multi_default_multi_get(polymer_json, [1, 'response'], ['response'], default=None, types=dict)
|
||||||
|
if response is None:
|
||||||
|
return None, 'Failed to extract response'
|
||||||
|
else:
|
||||||
|
return response, None
|
||||||
|
|
||||||
# responses returned for desktop version
|
|
||||||
try:
|
|
||||||
return polymer_json[1]['response'], None
|
|
||||||
except (TypeError, KeyError, IndexError):
|
|
||||||
pass
|
|
||||||
|
|
||||||
# responses returned for mobile version
|
|
||||||
try:
|
|
||||||
return polymer_json['response'], None
|
|
||||||
except (TypeError, KeyError):
|
|
||||||
pass
|
|
||||||
|
|
||||||
return None, 'Failed to extract response'
|
|
||||||
|
|
||||||
list_types = {
|
list_types = {
|
||||||
'sectionListRenderer',
|
'sectionListRenderer',
|
||||||
@ -459,7 +450,7 @@ def extract_items(response):
|
|||||||
return [], None
|
return [], None
|
||||||
|
|
||||||
def extract_channel_info(polymer_json, tab):
|
def extract_channel_info(polymer_json, tab):
|
||||||
response, err = get_response(polymer_json)
|
response, err = extract_response(polymer_json)
|
||||||
if err:
|
if err:
|
||||||
return {'error': err}
|
return {'error': err}
|
||||||
|
|
||||||
@ -544,7 +535,7 @@ def extract_channel_info(polymer_json, tab):
|
|||||||
return info
|
return info
|
||||||
|
|
||||||
def extract_search_info(polymer_json):
|
def extract_search_info(polymer_json):
|
||||||
response, err = get_response(polymer_json)
|
response, err = extract_response(polymer_json)
|
||||||
if err:
|
if err:
|
||||||
return {'error': err}
|
return {'error': err}
|
||||||
info = {'error': None}
|
info = {'error': None}
|
||||||
@ -595,7 +586,7 @@ def extract_search_info(polymer_json):
|
|||||||
return info
|
return info
|
||||||
|
|
||||||
def extract_playlist_metadata(polymer_json):
|
def extract_playlist_metadata(polymer_json):
|
||||||
response, err = get_response(polymer_json)
|
response, err = extract_response(polymer_json)
|
||||||
if err:
|
if err:
|
||||||
return {'error': err}
|
return {'error': err}
|
||||||
metadata = renderer_info(response['header'])
|
metadata = renderer_info(response['header'])
|
||||||
@ -609,7 +600,7 @@ def extract_playlist_metadata(polymer_json):
|
|||||||
return metadata
|
return metadata
|
||||||
|
|
||||||
def extract_playlist_info(polymer_json):
|
def extract_playlist_info(polymer_json):
|
||||||
response, err = get_response(polymer_json)
|
response, err = extract_response(polymer_json)
|
||||||
if err:
|
if err:
|
||||||
return {'error': err}
|
return {'error': err}
|
||||||
info = {'error': None}
|
info = {'error': None}
|
||||||
@ -645,7 +636,7 @@ def ctoken_metadata(ctoken):
|
|||||||
def parse_comments_polymer(polymer_json):
|
def parse_comments_polymer(polymer_json):
|
||||||
try:
|
try:
|
||||||
video_title = ''
|
video_title = ''
|
||||||
response, err = get_response(polymer_json)
|
response, err = extract_response(polymer_json)
|
||||||
if err:
|
if err:
|
||||||
raise Exception(err)
|
raise Exception(err)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user