fix(ui): Masks password input, renders empty list if no search or seasons results...
[plugin.video.netflix.git] / resources / lib / KodiHelper.py
index b07efaf3cb4b3d95eec40e85f165ca9692e4f64a..04d268e1c861a94b60e3108217d2e5877b7db76b 100644 (file)
@@ -100,7 +100,7 @@ class KodiHelper:
             Netflix password
         """
         dlg = xbmcgui.Dialog()
-        return dlg.input(self.get_local_string(string_id=30004), type=xbmcgui.INPUT_ALPHANUM)
+        return dlg.input(self.get_local_string(string_id=30004), type=xbmcgui.INPUT_ALPHANUM, option=xbmcgui.ALPHANUM_HIDE_INPUT)
 
     def show_email_dialog (self):
         """Asks the user for its Netflix account email
@@ -137,6 +137,30 @@ class KodiHelper:
         dialog.notification(self.get_local_string(string_id=30028), self.get_local_string(string_id=30029), xbmcgui.NOTIFICATION_ERROR, 5000)
         return True
 
+    def show_no_search_results_notification (self):
+        """Shows notification that no search results could be found
+
+        Returns
+        -------
+        bool
+            Dialog shown
+        """
+        dialog = xbmcgui.Dialog()
+        dialog.notification(self.get_local_string(string_id=30011), self.get_local_string(string_id=30013))
+        return True
+
+    def show_no_seasons_notification (self):
+        """Shows notification that no seasons be found
+
+        Returns
+        -------
+        bool
+            Dialog shown
+        """
+        dialog = xbmcgui.Dialog()
+        dialog.notification(self.get_local_string(string_id=30010), self.get_local_string(string_id=30012))
+        return True
+
     def set_setting (self, key, value):
         """Public interface for the addons setSetting method
 
@@ -452,8 +476,7 @@ class KodiHelper:
         bool
             List could be build
         """
-        li = xbmcgui.ListItem(label=self.get_local_string(30012))
-        xbmcplugin.addDirectoryItem(handle=self.plugin_handle, url='', listitem=li, isFolder=False)
+        self.show_no_seasons_notification()
         xbmcplugin.endOfDirectory(self.plugin_handle)
         return True
 
@@ -473,10 +496,8 @@ class KodiHelper:
         bool
             List could be build
         """
-        li = xbmcgui.ListItem(label=self.get_local_string(30013))
-        xbmcplugin.addDirectoryItem(handle=self.plugin_handle, url=build_url({'action': action}), listitem=li, isFolder=False)
-        xbmcplugin.endOfDirectory(self.plugin_handle)
-        return True
+        self.show_no_search_results_notification()
+        return xbmcplugin.endOfDirectory(self.plugin_handle)
 
     def build_user_sub_listing (self, video_list_ids, type, action, build_url):
         """Builds the video lists screen for user subfolders (genres & recommendations)
@@ -532,7 +553,7 @@ class KodiHelper:
         for index in seasons_sorted:
             for season_id in season_list:
                 season = season_list[season_id]
-                if int(season['id']) == index:
+                if int(season['idx']) == index:
                     li = xbmcgui.ListItem(label=season['text'])
                     # add some art to the item
                     li = self._generate_art_info(entry=season, li=li)
@@ -805,7 +826,7 @@ class KodiHelper:
         li.addContextMenuItems(items)
         return li
 
-    def log (self, msg, level=xbmc.LOGNOTICE):
+    def log (self, msg, level=xbmc.LOGDEBUG):
         """Adds a log entry to the Kodi log
 
         Parameters
@@ -816,12 +837,9 @@ class KodiHelper:
         level : :obj:`int`
             Kodi log level
         """
-        if self.verb_log:
-            if level == xbmc.LOGDEBUG and self.verb_log:
-                level = xbmc.LOGNOTICE
-            if isinstance(msg, unicode):
-                msg = msg.encode('utf-8')
-            xbmc.log('[%s] %s' % (self.plugin, msg.__str__()), level)
+        if isinstance(msg, unicode):
+            msg = msg.encode('utf-8')
+        xbmc.log('[%s] %s' % (self.plugin, msg.__str__()), level)
 
     def get_local_string (self, string_id):
         """Returns the localized version of a string