def __init__(self): client_info = clientinfo.ClientInfo() self.version = client_info.get_version() self.app_name = client_info.get_addon_name() self.app_id = client_info.get_addon_id() self.app_iid = "python-{}.kodi-{}".format(python_version(), xbmc.getInfoLabel('System.BuildVersion')) self.device_id = client_info.get_device_id() # user agent string, used for OS and Kodi version identification kodi_ver = xbmc.getInfoLabel("System.BuildVersion") if(not kodi_ver): kodi_ver = "na" kodi_ver = kodi_ver.strip() if(kodi_ver.find(" ") > 0): kodi_ver = kodi_ver[0:kodi_ver.find(" ")] self.userAgent = "Kodi/" + kodi_ver + " (" + self.getUserAgentOS() + ")" # Use set user name # self.user_name = configs('username') or configs('connectUsername') or 'None' self.user_name = 'None' # use md5 for client and user for analytics self.device_id = hashlib.md5(self.device_id).hexdigest() self.user_name = hashlib.md5(self.user_name).hexdigest() # resolution self.screen_mode = xbmc.getInfoLabel("System.ScreenMode") self.screen_height = xbmc.getInfoLabel("System.ScreenHeight") self.screen_width = xbmc.getInfoLabel("System.ScreenWidth") # self.language = xbmc.getLanguage(xbmc.ENGLISH_NAME) self.lang = xbmc.getInfoLabel("System.Language")
def __init__(self, cursor): self.cursor = cursor self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName() self.artwork = artwork.Artwork()
def __init__(self): self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName() self.doUtils = downloadutils.DownloadUtils() self.logMsg("Kodi monitor started.", 1)
def startSession(self, reset=False): """ User should be authenticated when this method is called (via userclient) """ # Start session self.s = requests.Session() client = clientinfo.ClientInfo() self.deviceId = client.getDeviceId() # Attach authenticated header to the session self.s.headers = client.getXArgsDeviceInfo() self.s.encoding = 'utf-8' # Set SSL settings self.setSSL() # Set other stuff self.setServer(window('pms_server')) self.setToken(window('pms_token')) self.setUserId(window('currUserId')) self.setUsername(window('plex_username')) # Counters to declare PMS dead or unauthorized # Use window variables because start of movies will be called with a # new plugin instance - it's impossible to share data otherwise if reset is True: window('countUnauthorized', value='0') window('countError', value='0') # Retry connections to the server self.s.mount("http://", requests.adapters.HTTPAdapter(max_retries=1)) self.s.mount("https://", requests.adapters.HTTPAdapter(max_retries=1)) log.info("Requests session started on: %s" % self.server)
def __init__(self): client_info = clientinfo.ClientInfo() self.version = client_info.get_version() self.device_id = client_info.get_device_id() # user agent string, used for OS and Kodi version identification kodi_ver = xbmc.getInfoLabel("System.BuildVersion") if(not kodi_ver): kodi_ver = "na" kodi_ver = kodi_ver.strip() if(kodi_ver.find(" ") > 0): kodi_ver = kodi_ver[0:kodi_ver.find(" ")] self.userAgent = "Kodi/" + kodi_ver + " (" + self.getUserAgentOS() + ")" # Use set user name self.user_name = settings('username') or settings('connectUsername') or 'None' # use md5 for client and user for analytics self.device_id = md5.new(self.device_id).hexdigest() self.user_name = md5.new(self.user_name).hexdigest() # resolution self.screen_mode = xbmc.getInfoLabel("System.ScreenMode") self.screen_height = xbmc.getInfoLabel("System.ScreenHeight") self.screen_width = xbmc.getInfoLabel("System.ScreenWidth") self.lang = xbmc.getInfoLabel("System.Language")
def __init__(self): self.__dict__ = self._shared_state client_info = clientinfo.ClientInfo() self.emby = embyserver.Read_EmbyServer() version = client_info.get_version() device_name = client_info.get_device_name() device_id = client_info.get_device_id() self._connect = connectionmanager.ConnectionManager(appName="Kodi", appVersion=version, deviceName=device_name, deviceId=device_id) path = xbmc.translatePath( "special://profile/addon_data/plugin.video.emby/").decode('utf-8') if not xbmcvfs.exists(path): xbmcvfs.mkdirs(path) self._connect.setFilePath(path) if window('emby_state.json'): self.state = window('emby_state.json') elif not self.state: self.state = self._connect.connect() log.info("Started with: %s", self.state) window('emby_state.json', value=self.state)
def onNotification(self, sender, method, data): xbmclog('In onNotification(sender={}, method={}, data={})'.format( sender, method, data)) if sender == clientinfo.ClientInfo().get_addon_id(): if 'discover' in method: self.ga.sendScreenView("Configurations/Discover") self.hue_service.ga.sendEventData("Configurations", "Discover") ui.discover_lights(self.hue_service) self.hue_service.update_controllers() if 'start_setup_theater_lights' in method: self.ga.sendScreenView("Configurations/SetupGroup/Theater") self.hue_service.ga.sendEventData("Configurations", "Setup Group", "Theater") ret = ui.multiselect_lights( 'Select Theater Lights', ','.join([ self.hue_service.settings.ambilight_group, self.hue_service.settings.static_group ]), self.hue_service.settings.theater_group) self.hue_service.settings.update(theater_group=ret) self.hue_service.update_controllers() if 'start_setup_theater_subgroup' in method: self.ga.sendScreenView( "Configurations/SetupGroup/TheaterSubgroup") self.hue_service.ga.sendEventData("Configurations", "Setup Group", "Theater Subgroup") ret = ui.multiselect_lights( 'Select Theater Subgroup', ','.join([ self.hue_service.settings.ambilight_group, self.hue_service.settings.static_group ]), self.hue_service.settings.theater_subgroup) self.hue_service.settings.update(theater_subgroup=ret) self.hue_service.update_controllers() if 'start_setup_ambilight_lights' in method: self.ga.sendScreenView("Configurations/SetupGroup/Ambilight") self.hue_service.ga.sendEventData("Configurations", "Setup Group", "Ambilight") ret = ui.multiselect_lights( 'Select Ambilight Lights', ','.join([ self.hue_service.settings.theater_group, self.hue_service.settings.static_group ]), self.hue_service.settings.ambilight_group) self.hue_service.settings.update(ambilight_group=ret) self.hue_service.update_controllers() if 'start_setup_static_lights' in method: self.ga.sendScreenView("Configurations/SetupGroup/Static") self.hue_service.ga.sendEventData("Configurations", "Setup Group", "Static") ret = ui.multiselect_lights( 'Select Static Lights', ','.join([ self.hue_service.settings.theater_group, self.hue_service.settings.ambilight_group ]), self.hue_service.settings.static_group) self.hue_service.settings.update(static_group=ret) self.hue_service.update_controllers() if 'reset_settings' in method: self.ga.sendScreenView("Configurations/Reset") self.hue_service.ga.sendEventData("Configurations", "Reset") os.unlink(os.path.join(__addondir__, "settings.xml"))
def __init__(self): global log log = Logging(self.__class__.__name__).log self.addonId = clientinfo.ClientInfo().getAddonId() self.doUtils = downloadutils.DownloadUtils().downloadUrl self.userClient = userclient.UserClient()
def __init__(self, embycursor): global log log = Logging(self.__class__.__name__).log self.embycursor = embycursor self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName()
def __init__(self, item): self.item = item self.clientInfo = clientinfo.ClientInfo() self.userid = window('emby_currUser') self.server = window('emby_server%s' % self.userid) self.doUtils = downloadutils.DownloadUtils().downloadUrl
def __init__(self): self.__dict__ = self._shared_state self.clientInfo = clientinfo.ClientInfo() self.doUtils = downloadutils.DownloadUtils().downloadUrl self.xbmcplayer = xbmc.Player() self.logMsg("Starting playback monitor.", 2)
def __init__(self): self.__dict__ = self._shared_state self.addon = xbmcaddon.Addon() self.addonName = clientinfo.ClientInfo().getAddonName() self.doUtils = downloadutils.DownloadUtils() threading.Thread.__init__(self)
def __init__(self): self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName() self.userid = utils.window('emby_currUser') self.server = utils.window('emby_server%s' % self.userid) self.emby = embyserver.Read_EmbyServer()
def __init__(self, item): self.item = item self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName() self.userid = utils.window('emby_currUser') self.server = utils.window('emby_server%s' % self.userid)
def __init__(self): global log log = Logging(self.__class__.__name__).log clientInfo = clientinfo.ClientInfo() self.addonName = clientInfo.getAddonName() self.kodiversion = int(xbmc.getInfoLabel('System.BuildVersion')[:2])
def __init__(self, item): self.item = item self.API = PlexAPI.API(item) self.clientInfo = clientinfo.ClientInfo() self.userid = utils.window('currUserId') self.server = utils.window('pms_server') self.machineIdentifier = utils.window('plex_machineIdentifier')
def __init__(self): global log log = Logging(self.__class__.__name__).log self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName() self.doUtils = downloadutils.DownloadUtils() log("Kodi monitor started.", 1)
def __init__(self, cursor): global log log = Logging(self.__class__.__name__).log self.cursor = cursor self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName() self.artwork = artwork.Artwork()
def __init__(self): self.__dict__ = self._shared_state self.clientInfo = clientinfo.ClientInfo() self.doUtils = downloadutils.DownloadUtils().downloadUrl xbmc.Player.__init__(self) log.info("Started playback monitor.")
def __init__(self, item): global log log = Logging(self.__class__.__name__).log # item is the api response self.item = item self.clientinfo = clientinfo.ClientInfo() self.addonName = self.clientinfo.getAddonName()
def __init__(self): window = utils.window self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName() self.doUtils = downloadutils.DownloadUtils().downloadUrl self.userId = window('emby_currUser') self.server = window('emby_server%s' % self.userId)
def __init__(self): self.addon = xbmcaddon.Addon() self.__language__ = self.addon.getLocalizedString self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName() self.addonId = self.clientInfo.getAddonId() self.doUtils = downloadutils.DownloadUtils() self.userClient = userclient.UserClient()
def __init__(self, item): global log log = Logging(self.__class__.__name__).log self.item = item self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName() self.userid = window('emby_currUser') self.server = window('emby_server%s' % self.userid)
def __init__(self): self.__dict__ = self._shared_state self.clientInfo = clientinfo.ClientInfo() self.doUtils = downloadutils.DownloadUtils().downloadUrl self.ws = wsc.WebSocketClient() self.xbmcplayer = xbmc.Player() log.debug("Starting playback monitor.") xbmc.Player.__init__(self)
def __init__(self): global log log = Logging(self.__class__.__name__).log self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName() self.doUtils = downloadutils.DownloadUtils().downloadUrl self.userId = window('emby_currUser') self.server = window('emby_server%s' % self.userId)
def __init__(self): self.__dict__ = self._shared_state self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName() self.doUtils = downloadutils.DownloadUtils().downloadUrl self.ws = wsc.WebSocket_Client() self.xbmcplayer = xbmc.Player() self.logMsg("Starting playback monitor.", 2)
def __init__(self): self.__dict__ = self._shared_state self.monitor = xbmc.Monitor() self.doutils = downloadutils.DownloadUtils() self.client_info = clientinfo.ClientInfo() self.device_id = self.client_info.get_device_id() self.library_sync = librarysync.LibrarySync() threading.Thread.__init__(self)
def __init__(self): global log log = Logging(self.__class__.__name__).log self.__dict__ = self._shared_state self.addon = xbmcaddon.Addon() self.addonName = clientinfo.ClientInfo().getAddonName() self.doUtils = downloadutils.DownloadUtils() threading.Thread.__init__(self)
def __init__(self): self.__dict__ = self._shared_state self.monitor = xbmc.Monitor() self.doUtils = downloadutils.DownloadUtils() self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName() self.deviceId = self.clientInfo.getDeviceId() self.librarySync = librarysync.LibrarySync() threading.Thread.__init__(self)
def __init__(self): global log log = Logging(self.__class__.__name__).log self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName() self.userid = window('emby_currUser') self.server = window('emby_server%s' % self.userid) self.emby = embyserver.Read_EmbyServer()