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)
示例#5
0
    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")
示例#6
0
    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)
示例#7
0
 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()
示例#10
0
    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
示例#11
0
    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)
示例#12
0
    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)
示例#13
0
    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()
示例#14
0
    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)
示例#15
0
    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])
示例#16
0
    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')
示例#17
0
    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)
示例#18
0
    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()
示例#19
0
    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.")
示例#20
0
    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()
示例#21
0
    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)
示例#22
0
    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)
示例#24
0
    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)
示例#25
0
    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)
示例#26
0
    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)
示例#27
0
    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)
示例#28
0
    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)
示例#30
0
    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()