Exemple #1
0
def first_run():
    if settings[SETTINGS.UUID] == '':
        settings[SETTINGS.UUID] = uuid.uuid4()
        DialogRenderer.ok(get_string(LANG.NEWS_TITLE),
                          get_string(LANG.NEWS_TEXT))
    if settings[SETTINGS.INSTALLATION_DATE] == '':
        set_settings(SETTINGS.INSTALLATION_DATE, get_current_datetime_str())
    if settings[SETTINGS.VERSION] == '':
        set_settings(SETTINGS.VERSION, get_info('version'))

    if settings[SETTINGS.PROVIDER_USERNAME] == '':
        settings[SETTINGS.PROVIDER_TOKEN] = ''

    # fix plain stored password on first run
    if settings[SETTINGS.PROVIDER_USERNAME] and len(
            settings[SETTINGS.PROVIDER_PASSWORD]) != 40:
        salt = provider.get_salt(settings[SETTINGS.PROVIDER_USERNAME])
        if salt is not None:
            settings[SETTINGS.PROVIDER_PASSWORD] = hash_password(
                settings[SETTINGS.PROVIDER_PASSWORD], salt)

    if get_plugin_route(
    ) != ROUTE.CHECK_PROVIDER_CREDENTIALS or not storage.get(
            STORAGE.IS_OLD_KODI_SESSION):
        settings.load_to_cache(SETTINGS.PROVIDER_USERNAME,
                               SETTINGS.PROVIDER_PASSWORD,
                               SETTINGS.PROVIDER_TOKEN)

    if not storage.get(STORAGE.IS_OLD_KODI_SESSION):
        storage[STORAGE.IS_OLD_KODI_SESSION] = True
Exemple #2
0
def run():
    first_run()
    setup_root_logger()
    on_clear_cache_redirect()
    set_settings(SETTINGS.VERSION, get_info('version'))
    logger.debug('Entry point ------- ' + str(sys.argv))
    try:
        stream_cinema.vip_remains()
        # settings.load_to_cache(SETTINGS.PROVIDER_USERNAME, SETTINGS.PROVIDER_PASSWORD, SETTINGS.PROVIDER_TOKEN)
        check_version()
        plugin_url_history.add(get_plugin_url())
        return router.run()
    except requests.exceptions.ConnectionError as e:
        logger.error(e)
        if _can_connect_google():
            Dialog().ok(get_string(LANG.CONNECTION_ERROR),
                        get_string(LANG.SERVER_ERROR_HELP))
        else:
            Dialog().ok(get_string(LANG.CONNECTION_ERROR),
                        get_string(LANG.NO_CONNECTION_HELP))
 def api_cached():
     return CachedAPI('main',
                      plugin_version=get_info('version'),
                      uuid=settings[SETTINGS.UUID],
                      api_url=URL.API)
 def api():
     return API(plugin_version=get_info('version'),
                uuid=settings[SETTINGS.UUID],
                api_url=URL.API)
    'WARNING': xbmc.LOGWARNING,
    'INFO': xbmc.LOGINFO,
    'DEBUG': xbmc.LOGDEBUG,
    'NOTSET': xbmc.LOGNONE,
}


class KodiLogHandler(logging.StreamHandler):
    def __init__(self):
        logging.StreamHandler.__init__(self)
        formatter = logging.Formatter('[%(name)s] %(message)s')
        self.setFormatter(formatter)

    def emit(self, record):
        if get_setting_as_bool('debug'):
            xbmc.log(self.format(record), levels[record.levelname])

    def flush(self):
        pass


def setup_root_logger():
    root_logger = logging.getLogger()
    root_logger.handlers = [KodiLogHandler()]
    root_logger.setLevel(logging.DEBUG)


logging.basicConfig()
logger = logging.getLogger(get_info('id'))
service_logger = logging.getLogger(get_info('id') + '.service')
 def __init__(self):
     self._id = get_info('id')
     self._storage = MemStorage(self._id)