import xbmcaddon
import xbmc
import json
+import uuid
+from UniversalAnalytics import Tracker
try:
import cPickle as pickle
except:
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
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
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
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)
self.log(msg='Inputstream addon not found')
return False
+ # track play event
+ self.track_event('playVideo')
+
# inputstream addon properties
msl_service_url = 'http://localhost:' + str(self.addon.getSetting('msl_service_port'))
play_item = xbmcgui.ListItem(path=msl_service_url + '/manifest?id=' + video_id)
instance of the Library class
"""
self.library = library
+
+ def track_event(self, event):
+ """
+ Send a tracking event if tracking is enabled
+ :param event: the string idetifier of the event
+ :return: None
+ """
+ # Check if tracking is enabled
+ enable_tracking = (self.addon.getSetting('enable_logging') == 'true')
+ if enable_tracking:
+ #Get or Create Tracking id
+ tracking_id = self.addon.getSetting('tracking_id')
+ if tracking_id is '':
+ tracking_id = str(uuid.uuid4())
+ self.addon.setSetting('tracking_id', tracking_id)
+ # Send the tracking event
+ tracker = Tracker.create('UA-46081640-5', client_id=tracking_id)
+ tracker.send('event', event)