From: Sebastian Golasch Date: Thu, 9 Feb 2017 11:03:29 +0000 (+0100) Subject: feat(search): Adds suggestions to the search results X-Git-Url: http://git.code-monkey.de/?p=plugin.video.netflix.git;a=commitdiff_plain;h=74733fb1ca2b352a087dd63a60d89a26fa98b27a;hp=23cea7386839a66bbd644b2631100106c8cca710 feat(search): Adds suggestions to the search results --- diff --git a/README.md b/README.md index 5c7a7ff..fc797d2 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Funktionen: ----------- - Wechsel zwischen Profilen - - Suche nach Filmen/Serien (Nicht nach Schauspielern, Genres) + - Suche nach Filmen/Serien (inkl. suggestions) - Anzeigen von Kategorien wie "Meine Liste", "Weil Sie x gesehen haben", "Mit dem Profil von x weiterschauen", "Originals" etc. - Eingabe von "Adult Pin" bei FSK 18 Filmen/Serien - Rating aus Kodi in Netflix @@ -23,6 +23,5 @@ Funktionen: ToDo: ----- - - Suche nach Schauspielern, Genres ermöglichen - Fehlende Daten (Cast, bookmark position, etc.) den Show items in der Serien Video Liste hinzufügen - Mit dem Profil von "x" weiterschauen - Statt der Liste der Shows direkt die Episode mit Bookmark anzeigen diff --git a/resources/lib/Navigation.py b/resources/lib/Navigation.py index e934645..67a59d3 100644 --- a/resources/lib/Navigation.py +++ b/resources/lib/Navigation.py @@ -162,6 +162,12 @@ class Navigation: for key in search_results_raw['value']['search'].keys(): if self.netflix_session._is_size_key(key=key) == False: has_search_results = search_results_raw['value']['search'][key]['titles']['length'] > 0 + if has_search_results == False: + for entry in search_results_raw['value']['search'][key]['suggestions']: + if self.netflix_session._is_size_key(key=entry) == False: + if search_results_raw['value']['search'][key]['suggestions'][entry]['relatedvideos']['length'] > 0: + has_search_results = True + # display that we haven't found a thing if has_search_results == False: diff --git a/resources/lib/NetflixSession.py b/resources/lib/NetflixSession.py index 2ba0cbb..332ab26 100644 --- a/resources/lib/NetflixSession.py +++ b/resources/lib/NetflixSession.py @@ -1495,7 +1495,7 @@ class NetflixSession: response = self.session.get(url, params=payload, verify=self.verify_ssl); return self._process_response(response=response, component=url) - def fetch_search_results (self, search_str, list_from=0, list_to=48): + def fetch_search_results (self, search_str, list_from=0, list_to=10): """Fetches the JSON which contains the results for the given search query Parameters @@ -1520,7 +1520,10 @@ class NetflixSession: paths = [ ['search', encoded_search_string, 'titles', {'from': list_from, 'to': list_to}, ['summary', 'title']], ['search', encoded_search_string, 'titles', {'from': list_from, 'to': list_to}, 'boxarts', '_342x192', 'jpg'], - ['search', encoded_search_string, 'titles', ['id', 'length', 'name', 'trackIds', 'requestId']] + ['search', encoded_search_string, 'titles', ['id', 'length', 'name', 'trackIds', 'requestId']], + ['search', encoded_search_string, 'suggestions', 0, 'relatedvideos', {'from': list_from, 'to': list_to}, ['summary', 'title']], + ['search', encoded_search_string, 'suggestions', 0, 'relatedvideos', {'from': list_from, 'to': list_to}, 'boxarts', '_342x192', 'jpg'], + ['search', encoded_search_string, 'suggestions', 0, 'relatedvideos', ['id', 'length', 'name', 'trackIds', 'requestId']] ] response = self._path_request(paths=paths) return self._process_response(response=response, component='Search results')