From 74733fb1ca2b352a087dd63a60d89a26fa98b27a Mon Sep 17 00:00:00 2001 From: Sebastian Golasch Date: Thu, 9 Feb 2017 12:03:29 +0100 Subject: [PATCH 1/1] feat(search): Adds suggestions to the search results --- README.md | 3 +-- resources/lib/Navigation.py | 6 ++++++ resources/lib/NetflixSession.py | 7 +++++-- 3 files changed, 12 insertions(+), 4 deletions(-) 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') -- 2.30.2