diff --git a/lib/libzdf.py b/lib/libzdf.py index e712f90..76c5281 100644 --- a/lib/libzdf.py +++ b/lib/libzdf.py @@ -52,7 +52,7 @@ def __init__(self): def libZdfListMain(self): l = [] - l.append({'metadata':{'name':self.translation(32031)}, 'params':{'mode':'libZdfListPage','url':f'{self.baseApi}/content/documents/meist-gesehen-100.json?profile=default'}, 'type':'dir'}) + #l.append({'metadata':{'name':self.translation(32031)}, 'params':{'mode':'libZdfListPage','url':f'{self.baseApi}/content/documents/meist-gesehen-100.json?profile=default'}, 'type':'dir'}) #l.append({'metadata':{'name':self.translation(32031)}, 'params':{'mode':'libZdfListPage','url':f'{self.baseApi}/content/documents/filter-meist-gesehen-100.json?profile=page-video_episode_vod&limit=50'}, 'type':'dir'}) l.append({'metadata':{'name':self.translation(32132)}, 'params':{'mode':'libZdfListShows'}, 'type':'dir'}) l.append({'metadata':{'name':self.translation(32133)}, 'params':{'mode':'libZdfListChannel'}, 'type':'dir'}) @@ -90,4 +90,3 @@ def libZdfListChannelDateVideos(self): def libZdfListSearch(self,searchString): self.params['url'] = f'{self.baseApi}/search/documents?q={searchString}' return self.libZdfListPage() - \ No newline at end of file diff --git a/lib/libzdfjsonparser.py b/lib/libzdfjsonparser.py index 68391b7..feff659 100644 --- a/lib/libzdfjsonparser.py +++ b/lib/libzdfjsonparser.py @@ -195,17 +195,21 @@ def _grepItemDefault(self,target,forcedType=False): self._grepActors(target) if target['contentType'] == 'topic': - if target['hasVideo'] == False: return False + if not target.get('hasVideo', False): return False self.d['params']['url'] = self.baseApi + target['self']+'&limit=100' self.d['params']['mode'] = 'libZdfListPage' self.d['type'] = 'dir' elif target['contentType'] in ['brand','category','topic']: - if not 'hasVideo' in target: return False - if target['hasVideo'] == False: return False + if not target.get('hasVideo', False): return False - self.d['params']['url'] = self.baseApi + target['http://zdf.de/rels/search/page-video-counter-with-video']['self'].replace('&limit=0','&limit=100') + try: + t = target["http://zdf.de/rels/search/page-video-counter-with-video"]["self"] + except KeyError: + return False + + self.d['params']['url'] = self.baseApi + t.replace('&limit=0','&limit=100') self.d['params']['mode'] = 'libZdfListPage' self.d['type'] = 'dir' @@ -220,7 +224,7 @@ def _grepItemDefault(self,target,forcedType=False): except: self.d = False elif target['contentType'] == 'episode':# or target['contentType'] == 'clip': - if not target['hasVideo']: + if not target.get('hasVideo', False): pass #return False #if target['mainVideoContent']['http://zdf.de/rels/target']['showCaption']: @@ -259,7 +263,7 @@ def _grepItemDefault(self,target,forcedType=False): def _grepArt(self,target,isVideo=False): art = {} - if not isVideo: + if not isVideo and 'teaserImageRef' in target: if 'layouts' in target['teaserImageRef']: if '384xauto' in target['teaserImageRef']['layouts']: self.d['metadata']['art']['thumb'] = target['teaserImageRef']['layouts']['384xauto']