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
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)