Exemple #1
0
def use_inputstream_adaptive():
    if kodi.get_setting('video_quality_ia') == 'true' or kodi.get_setting('video_quality') == '3':
        if kodi.get_setting('video_support_ia_builtin') == 'true':
            return True
        elif kodi.get_setting('video_support_ia_addon') == 'true':
            use_ia = kodi.get_setting('video_quality_ia') == 'true' or kodi.get_setting('video_quality') == '3'
            if not use_ia:
                return False

            ia_enabled = kodi.addon_enabled('inputstream.adaptive')
            if ia_enabled is False:
                if kodi.Dialog().yesno(kodi.get_name(), i18n('adaptive_is_disabled')):
                    ia_enabled = kodi.set_addon_enabled('inputstream.adaptive')

            if ia_enabled:
                ia_min_version = '2.0.10'
                ia_version = kodi.Addon('inputstream.adaptive').getAddonInfo('version')
                ia_enabled = loose_version(ia_version) >= loose_version(ia_min_version)
                if not ia_enabled:
                    result = kodi.Dialog().ok(kodi.get_name(), i18n('adaptive_version_check') % ia_min_version)

            if not ia_enabled:
                kodi.set_setting('video_quality_ia', 'false')
                kodi.set_setting('video_quality', '0')
                return False
            else:
                return True
        else:
            kodi.set_setting('video_quality_ia', 'false')
            kodi.set_setting('video_quality', '0')
            return False
    else:
        return False
 def select_video_for_quality(videos):
     result = kodi.Dialog().select(i18n('choose_quality'),
                                   [video['name'] for video in videos])
     if result == -1:
         return None
     else:
         return videos[result]
Exemple #3
0
def remove_default_quality(content_type):
    json_data = get_stored_json()
    result = kodi.Dialog().select(i18n('remove_default_quality') % content_type,
                                  ['%s [%s]' % (user[user.keys()[0]]['name'], user[user.keys()[0]]['quality']) for user in json_data['qualities'][content_type]])
    if result == -1:
        return None
    else:
        result = json_data['qualities'][content_type].pop(result)
        storage.save(json_data)
        return result
Exemple #4
0
def remove_blacklist(list_type='user'):
    json_data = get_stored_json()
    result = kodi.Dialog().select(i18n('remove_from_blacklist') % list_type,
                                  [blacklist_name for blacklist_id, blacklist_name in json_data['blacklist'][list_type]])
    if result == -1:
        return None
    else:
        result = json_data['blacklist'][list_type].pop(result)
        storage.save(json_data)
        return result
Exemple #5
0
 def valid_token(self, client_id, token,
                 scopes):  # client_id, token used for unique caching only
     token_check = self.root()
     while True:
         if not token_check['token']['valid']:
             result = kodi.Dialog().ok(
                 heading=i18n('oauth_token'),
                 line1=i18n('invalid_token'),
                 line2=i18n('get_new_oauth_token') %
                 (i18n('settings'), i18n('login'), i18n('get_oauth_token')))
             log_utils.log('Error: Current OAuth token is invalid.',
                           log_utils.LOGERROR)
             return False
         else:
             if token_check['token']['client_id'] == self.client_id:
                 if token_check['token']['authorization']:
                     token_scopes = token_check['token']['authorization'][
                         'scopes']
                     missing_scopes = [
                         value for value in scopes
                         if value not in token_scopes
                     ]
                     if len(missing_scopes) > 0:
                         result = kodi.Dialog().ok(
                             heading=i18n('oauth_token'),
                             line1=i18n('missing_scopes') % missing_scopes,
                             line2=i18n('get_new_oauth_token') %
                             (i18n('settings'), i18n('login'),
                              i18n('get_oauth_token')))
                         log_utils.log(
                             'Error: Current OAuth token is missing required scopes |%s|'
                             % missing_scopes, log_utils.LOGERROR)
                         return False
                     else:
                         return True
                 else:
                     return False
             else:
                 matches_default = token_check['token'][
                     'client_id'] == utils.get_client_id(default=True)
                 message = 'Token created using default Client-ID |%s|' % str(
                     matches_default)
                 log_utils.log(
                     'Error: OAuth Client-ID mismatch: %s' % message,
                     log_utils.LOGERROR)
                 if matches_default:
                     result = kodi.Dialog().ok(
                         heading=i18n('oauth_token'),
                         line1=i18n('client_id_mismatch'),
                         line2=i18n('ok_to_resolve'))
                     utils.clear_client_id()
                     self.client_id = utils.get_client_id(default=True)
                     self.queries.CLIENT_ID = self.client_id
                     self.client = oauth.MobileClient(self.client_id)
                 else:
                     result = kodi.Dialog().ok(
                         heading=i18n('oauth_token'),
                         line1=i18n('client_id_mismatch'),
                         line2=i18n('get_new_oauth_token') %
                         (i18n('settings'), i18n('login'),
                          i18n('get_oauth_token')))
                     return False