Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Kodi Addon - ArrowTV - ModV

Moin, zusammen ...
Gibt es aktuell Addons wie Xstream oder xVault
die im Open ATV 7.6 Image + extensions kodi 22-r3 laufen ?

Gruss,
 
Zuletzt bearbeitet:
Zuletzt bearbeitet:
Mmmh..
ja sowas gibts.
aber
schön wäre es, wenn entsprechende addons für alle py3 OS funktionieren würden
und
sich die DEVs der addons sich das mal
mit den "InfoTags"
zu ❤️ n nehmen würden, wäre das Prima,
wenn es dann auf allen python3 kodi os laufen würde,,,,'

---nudenn---

zudem ist das hier vermutlich
auch der die das falsche Bereich(innen)
um DAS genauer zu beschnacken! :giggle:

###
nudenn...

.. für das Addon arrow tv MOD,
gibt es die Tage ein Update für den Adult XXX tv-bereich. vod läuft ja mit den "adult-channels"!

####
moin Userone,
bist doch auch einer von der alten garde.
gab es da nicht mal nen schlüssel?
ansonsten bitte gerne per PM.
besten gruß
 
Zuletzt bearbeitet:
für die, welche nicht warten können,

einmal die datei "load_channels.py" öffnen
und nach "" def getAllChannels "" suchen,
und hiermit ersetzen:
Code:
def getAllChannels(portal_mac, url, serial, path):
    global key
    
    now = time()

    portalurl = "_".join(re.findall("[a-zA-Z0-9]+", portal_mac))
    portalurl = path + '/' + portalurl + 'channels'

    setMac(portal_mac)
    setSerialNumber(serial)

    if not os.path.exists(path):
        os.makedirs(path)

    if os.path.exists(portalurl):

        with open(portalurl, 'rb') as data_file:
            data = json.load(data_file)

        if 'version' not in data or data['version'] != cache_version:
            clearCache(url, path)

        else:
            time_init = float(data['time'])
            # Cache 12 Stunden gültig
            if ((now - time_init) / 3600) < 12:
                #wird der chache auch geladen?
                xbmc.log("[ArrowTV] Channels aus Cache", xbmc.LOGINFO)
                return data

    handshake(url)
    epg = getEPG(portal_mac, url, serial, path)
    # Genres laden
    genres = getGenres(portal_mac, url, serial, path)
    genres = genres["genres"]

    channels = []

    # Alle Kanäle laden
    info = retrieveData(url, values={
        'type': 'itv',
        'action': 'get_all_channels',
        'JsHttpRequest': '1-xml'
    })

    for result in info['js']['data']:
        channels.append({
            "id": result['id'],
            "number": result["number"],
            "name": result["name"],
            "cmd": result['cmd'],
            "logo": result["logo"],
            "tmp": result["use_http_tmp_link"],
            "genre_id": result['tv_genre_id'],
            "epg_id": result['xmltv_id']
        })

    #GRuppen listen
    cache_by_genre = {}

    for channel in channels:
        gid = str(channel.get("genre_id", ""))

        if gid not in cache_by_genre:
            cache_by_genre[gid] = []

        cache_by_genre[gid].append(channel)

    #leere Gruppen nachladen
    for gid in genres.keys():
        # alle Gruppe auslassen
        if gid == "*":
            continue
        #wenn genre_id schon gelistet dann nicht nachladen
        if gid in cache_by_genre and cache_by_genre[gid]:
            continue

        xbmc.log("[ArrowTV] Lade Channels für leer Genre %s" % gid, xbmc.LOGINFO)

        # Erste Seite
        info = retrieveData(url, values={
            'type': 'itv',
            'action': 'get_ordered_list',
            'genre': gid,
            'force_ch_link_check': '',
            'fav': 0,
            'sortby': 'number',
            'hd': 0,
            'p': 1,
            'JsHttpRequest': '1-xml'
        })

        js = info.get("js", {})

        total = int(js.get("total_items", 0))
        per_page = int(js.get("max_page_items", len(js.get("data", [])) or 1))
        pages = max(1, math.ceil(total / per_page))

        all_results = js.get("data", []) or []

        # Weitere Seiten laden
        for page in range(2, pages + 1):

            xbmc.log("[ArrowTV] Lade Genre %s Seite %d" % (gid, page), xbmc.LOGINFO)

            info = retrieveData(url, values={
                'type': 'itv',
                'action': 'get_ordered_list',
                'genre': gid,
                'force_ch_link_check': '',
                'fav': 0,
                'sortby': 'number',
                'hd': 0,
                'p': page,
                'JsHttpRequest': '1-xml'
            })

            all_results.extend(info.get("js", {}).get("data", []) or [])

        if not all_results:
            continue

        cache_by_genre[gid] = []

        for result in all_results:

            channel = {
                "id": result['id'],
                "number": result["number"],
                "name": result["name"],
                "cmd": result['cmd'],
                "logo": result["logo"],
                "tmp": result["use_http_tmp_link"],
                "genre_id": result['tv_genre_id'],
                "epg_id": result['xmltv_id']
            }

            channels.append(channel)
            cache_by_genre[gid].append(channel)
            
    data = {
        "version": cache_version,
        "time": now,
        "channels": channels
    }

    with open(portalurl, 'w') as f:
        json.dump(data, f, indent=4)

    return data

somit werden auch die kerbchen tv channels mit gelistet.
 
Zurück
Oben
📱
Forum App auf dein Handy
Schneller. Push-Benachrichtigungen. Offline-fähig.
Öffnen