コード例 #1
0
ファイル: service.py プロジェクト: molandtoxx/jellyfin-kodi
    def shutdown(self):

        LOG.info("---<[ EXITING ]")
        window('jellyfin_should_stop.bool', True)

        properties = [  # TODO: review
            "jellyfin_state", "jellyfin_serverStatus", "jellyfin_currUser",
            "jellyfin_play", "jellyfin_online", "jellyfin.connected",
            "jellyfin.resume", "jellyfin_startup", "jellyfin.external",
            "jellyfin.external_check", "jellyfin_deviceId",
            "jellyfin_db_check", "jellyfin_pathverified", "jellyfin_sync"
        ]
        for prop in properties:
            window(prop, clear=True)

        Jellyfin.close_all()

        if self.library_thread is not None:
            self.library_thread.stop_client()

        if self.monitor is not None:

            self.monitor.listener.stop()
            self.monitor.webservice.stop()

        LOG.info("---<<<[ %s ]", client.get_addon_name())
コード例 #2
0
ファイル: service.py プロジェクト: woniu798/jellyfin-kodi
    def __init__(self):

        window('jellyfin_should_stop', clear=True)

        self.settings['addon_version'] = client.get_version()
        self.settings['profile'] = xbmc.translatePath('special://profile')
        self.settings['mode'] = settings('useDirectPaths')
        self.settings['log_level'] = settings('logLevel') or "1"
        self.settings['auth_check'] = True
        self.settings['enable_context'] = settings('enableContext.bool')
        self.settings['enable_context_transcode'] = settings(
            'enableContextTranscode.bool')
        self.settings['kodi_companion'] = settings('kodiCompanion.bool')
        window('jellyfin_kodiProfile', value=self.settings['profile'])
        settings('platformDetected', client.get_platform())

        if self.settings['enable_context']:
            window('jellyfin_context.bool', True)
        if self.settings['enable_context_transcode']:
            window('jellyfin_context_transcode.bool', True)

        LOG.info("--->>>[ %s ]", client.get_addon_name())
        LOG.info("Version: %s", client.get_version())
        LOG.info("KODI Version: %s", xbmc.getInfoLabel('System.BuildVersion'))
        LOG.info("Platform: %s", settings('platformDetected'))
        LOG.info("Python Version: %s", sys.version)
        LOG.info("Using dynamic paths: %s", settings('useDirectPaths') == "0")
        LOG.info("Log Level: %s", self.settings['log_level'])

        window('jellyfin.connected.bool', True)
        settings('groupedSets.bool', objects.utils.get_grouped_set())
        xbmc.Monitor.__init__(self)
コード例 #3
0
    def shutdown(self):

        LOG.warn("---<[ EXITING ]")
        window('emby_should_stop.bool', True)

        properties = [
            "emby.play", "emby.play.widget", "emby.autoplay", "emby_online",
            "emby.connected", "emby.resume", "emby.updatewidgets",
            "emby.external", "emby.external_check", "emby_deviceId",
            "emby_pathverified", "emby_sync", "emby.restart",
            "emby.sync.pause", "emby.playlist.clear", "emby.server.state",
            "emby.server.states"
        ]
        for server in window('emby.server.states.json') or []:
            properties.append("emby.server.%s.state" % server)

        for prop in properties:
            window(prop, clear=True)

        WEBSERVICE.stop()
        Emby.close_all()

        if self['library'] is not None:
            self['library'].stop_client()

        if self['monitor'] is not None:
            self['monitor'].listener.stop()

        LOG.warn("---<<<[ %s ]", client.get_addon_name())
コード例 #4
0
    def __init__(self):

        window('emby_should_stop', clear=True)

        self.settings['addon_version'] = client.get_version()
        self.settings['profile'] = xbmc.translatePath('special://profile')
        self.settings['mode'] = settings('useDirectPaths')
        self.settings['log_level'] = settings('logLevel') or "1"
        self.settings['auth_check'] = True
        self.settings['enable_context'] = settings('enableContext.bool')
        self.settings['enable_context_transcode'] = settings(
            'enableContextTranscode.bool')
        self.settings['kodi_companion'] = settings('kodiCompanion.bool')
        window('emby_logLevel', value=str(self.settings['log_level']))
        window('emby_kodiProfile', value=self.settings['profile'])
        settings('platformDetected', client.get_platform())
        settings('distroDetected', client.get_distro())
        memory = xbmc.getInfoLabel('System.Memory(total)').replace('MB', "")
        settings('lowPowered.bool',
                 int(memory or 2961) < 2961)  # Use shield (~3GB) as cutoff

        if self.settings['enable_context']:
            window('emby_context.bool', True)
        if self.settings['enable_context_transcode']:
            window('emby_context_transcode.bool', True)

        LOG.warn("--->>>[ %s ]", client.get_addon_name())
        LOG.warn("Version: %s", client.get_version())
        LOG.warn("KODI Version: %s", xbmc.getInfoLabel('System.BuildVersion'))
        LOG.warn("Platform: %s", settings('platformDetected'))
        LOG.warn("OS: %s/%sMB", settings('distroDetected'), memory)
        LOG.warn("Python Version: %s", sys.version)
        LOG.warn("Using dynamic paths: %s", settings('useDirectPaths') == "0")
        LOG.warn("Log Level: %s", self.settings['log_level'])

        self.check_version()
        verify_kodi_defaults()

        try:
            Views().get_nodes()
        except Exception as error:
            LOG.error(error)

        self.patch = patch.Patch()
        self.patch.check_update()
        test_databases()

        window('emby.connected.bool', True)
        settings('groupedSets.bool', objects.utils.get_grouped_set())
        xbmc.Monitor.__init__(self)