예제 #1
0
def save_all_radio_order(double=None, primary=None):
    prefs = load_radio_prefs(profile_id=1)
    order = load_radio_order(profile_id=1)

    found_ar = []
    last_id = None

    for currow in prefs:
        row = prefs[currow]

        if int(row['radio']) == 0:
            continue

        found_ar.append(currow)

        if not check_key(order, unicode(currow)):
            if not last_id:
                order[unicode(currow)] = 1
            else:
                order[unicode(currow)] = order[last_id] + 1

        last_id = unicode(currow)

    order2 = order.copy()

    for currow in order:
        if not currow in found_ar:
            del order2[currow]

    order2 = collections.OrderedDict(sorted(order2.items(),
                                            key=lambda x: x[1]))
    order3 = order2.copy()

    last_value = 0

    for currow in order2:
        cur_value = order2[currow]

        if cur_value == last_value:
            cur_value += 1

        order3[currow] = cur_value
        last_value = cur_value

    order3 = collections.OrderedDict(sorted(order3.items(),
                                            key=lambda x: x[1]))

    if double and primary:
        tmp_primary = order3[primary]
        order3[primary] = order3[double]
        order3[double] = tmp_primary
        order3 = collections.OrderedDict(
            sorted(order3.items(), key=lambda x: x[1]))

    save_radio_order(profile_id=1, order=order3)
예제 #2
0
def api_get_all_epg():
    updated = False

    profile_settings = load_profile(profile_id=1)

    for x in range(1, 6):
        if check_key(profile_settings, 'addon' + unicode(x)):
            if len(profile_settings['addon' + unicode(x)]) > 0:
                if api_get_epg_by_addon(profile_settings['addon' + unicode(x)].replace('plugin.video.', '')) == True:
                    updated = True

    clear_cache()

    if updated == True:
        return True
    else:
        return False
예제 #3
0
def save_all_radio_prefs():
    if api_get_channels() == True:
        type_channels = load_channels(type='radio')
        prefs = load_radio_prefs(profile_id=1)
        found_ar = []

        for currow in type_channels:
            row = type_channels[currow]
            all_id = unicode(row['id'])
            name = unicode(row['name'])

            if not prefs or not check_key(prefs, all_id):
                prefs[all_id] = {'radio': 1, 'name': name}

            found_ar.append(all_id)

        prefs2 = prefs.copy()

        for currow in prefs:
            if not currow in found_ar:
                del prefs2[currow]

        save_radio_prefs(profile_id=1, prefs=prefs2)
예제 #4
0
def change_replay_channel(id, **kwargs):
    if not id or len(unicode(id)) == 0:
        return False

    profile_settings = load_profile(profile_id=1)
    prefs = load_prefs(profile_id=1)
    all_channels = load_channels(type='all')
    id = unicode(id)

    select_list = []
    num = 0

    for x in range(1, 6):
        if len(profile_settings['addon' + unicode(x)]) > 0:
            type = profile_settings['addon' + unicode(x)]

            type_channels = load_channels(
                type=type.replace('plugin.video.', ''))

            VIDEO_ADDON_PROFILE = ADDON_PROFILE.replace(ADDON_ID, type)
            addon_prefs = load_file(VIDEO_ADDON_PROFILE + 'prefs.json',
                                    ext=True,
                                    isJSON=True)
            addon_profile = load_file(VIDEO_ADDON_PROFILE + 'profile.json',
                                      ext=True,
                                      isJSON=True)

            ziggov3 = 0

            try:
                if int(addon_profile['v3']) == 1:
                    ziggov3 = 1
            except:
                pass

            row2 = all_channels[id]

            if ziggov3 == 1:
                try:
                    type_id = unicode(row2[type + '_idv3'])
                except:
                    type_id = ''
            else:
                type_id = unicode(row2[type + '_id'])

            if len(type_id) > 0:
                row = type_channels[type_id]

                disabled = False

                if addon_prefs:
                    try:
                        if check_key(addon_prefs, unicode(row['id'])) and int(
                                addon_prefs[unicode(
                                    row['id'])]['replay']) == 0:
                            disabled = True
                    except:
                        pass

                if disabled == False:
                    select_list.append(
                        profile_settings['addon' + unicode(x)].replace(
                            'plugin.video.', ''))
                    num += 1

    select_list.append(_.DISABLED)

    selected = gui.select(_.SELECT_ADDON, select_list)
    mod_pref = prefs[id]

    if selected >= 0:
        mod_pref['replay_auto'] = 0

        if selected == num:
            mod_pref['replay'] = 0
            mod_pref['replay_addonid'] = ''
            mod_pref['replay_channelid'] = ''
            mod_pref['replay_channelassetid'] = ''
        else:
            mod_pref['replay'] = 1
            mod_pref[
                'replay_addonid'] = 'plugin.video.' + select_list[selected]
            mod_pref['replay_channelid'] = ''
            mod_pref['replay_channelassetid'] = ''

            type_channels = load_channels(type=select_list[selected])
            row2 = all_channels[id]

            if ziggov3 == 1:
                try:
                    type_id = unicode(row2[mod_pref['replay_addonid'] +
                                           '_idv3'])
                except:
                    type_id = ''
            else:
                type_id = unicode(row2[mod_pref['replay_addonid'] + '_id'])

            if len(type_id) > 0:
                row = type_channels[type_id]

                mod_pref['replay_channelid'] = row['id']
                mod_pref['replay_channelassetid'] = row['assetid']

        prefs[id] = mod_pref
        save_prefs(profile_id=1, prefs=prefs)

    xbmc.executeJSONRPC(
        '{"jsonrpc":"2.0","id":1,"method":"GUI.ActivateWindow","params":{"window":"videos","parameters":["plugin://'
        + unicode(ADDON_ID) +
        '/?_=replay_channel_picker_menu&num=6&save_all=0"]}}')
예제 #5
0
def save_all_replay_prefs():
    if api_get_channels() == True:
        profile_settings = load_profile(profile_id=1)

        all_channels = load_channels(type='all')
        prefs = load_prefs(profile_id=1)
        found_ar = []

        for x in range(1, 6):
            if len(profile_settings['addon' + unicode(x)]) > 0:
                type = profile_settings['addon' + unicode(x)]

                type_channels = load_channels(
                    type=type.replace('plugin.video.', ''))

                VIDEO_ADDON_PROFILE = ADDON_PROFILE.replace(ADDON_ID, type)
                addon_prefs = load_file(VIDEO_ADDON_PROFILE + 'prefs.json',
                                        ext=True,
                                        isJSON=True)
                addon_profile = load_file(VIDEO_ADDON_PROFILE + 'profile.json',
                                          ext=True,
                                          isJSON=True)

                ziggov3 = 0

                try:
                    if int(addon_profile['v3']) == 1:
                        ziggov3 = 1
                except:
                    pass

                for currow in type_channels:
                    row = type_channels[currow]

                    all_id = None

                    for currow2 in all_channels:
                        row2 = all_channels[currow2]

                        if (ziggov3 == 0 and unicode(row2[type + '_id'])
                                == unicode(row['id'])) or (
                                    ziggov3 == 1
                                    and check_key(row2, type + '_idv3')
                                    and unicode(row2[type + '_idv3'])
                                    == unicode(row['id'])):
                            all_id = unicode(currow2)

                    if not all_id or not check_key(prefs, all_id):
                        continue

                    disabled = False

                    if addon_prefs:
                        try:
                            if int(addon_prefs[unicode(
                                    row['id'])]['replay']) == 0:
                                disabled = True
                        except:
                            pass

                    if disabled == True:
                        try:
                            if all_id and check_key(
                                    prefs, all_id
                            ) and prefs[all_id]['replay_addonid'] == type:
                                del prefs[all_id]['replay']
                                del prefs[all_id]['replay_addonid']
                                del prefs[all_id]['replay_auto']
                                del prefs[all_id]['replay_channelid']
                                del prefs[all_id]['replay_channelassetid']
                        except:
                            pass

                        continue

                    try:
                        if (not prefs or not check_key(prefs, all_id)) or (
                                int(prefs[all_id]['replay_auto']) == 1
                                and all_id and not all_id in found_ar):
                            prefs[all_id]['replay'] = 1
                            prefs[all_id]['replay_addonid'] = type
                            prefs[all_id]['replay_auto'] = 1
                            prefs[all_id]['replay_channelid'] = row['id']
                            prefs[all_id]['replay_channelassetid'] = row[
                                'assetid']
                    except:
                        prefs[all_id]['replay'] = 1
                        prefs[all_id]['replay_addonid'] = type
                        prefs[all_id]['replay_auto'] = 1
                        prefs[all_id]['replay_channelid'] = row['id']
                        prefs[all_id]['replay_channelassetid'] = row['assetid']

                    found_ar.append(all_id)

        prefs2 = prefs.copy()

        for currow in prefs:
            if not currow in found_ar:
                del prefs2[currow]

        save_prefs(profile_id=1, prefs=prefs2)