"""
Usage Examples:
Text inside the tags are a formatted base64 encoded string. The format is below.
View Mode and Sort By can both be ignored in the searches by using None in those blocks.
Format: Base ID|Table Name|Max Results|Sort By|View Mode|API Key
Returns the Tv Channels
-- Base64 Unencoded String: appycq5PhSS0tygok|tv_channels|700|channel|None|keyikW1exArRfNAWj
TV Channels #1
YXBweWNxNVBoU1MwdHlnb2t8dHZfY2hhbm5lbHN8NzAwfGNoYW5uZWx8Tm9uZXxrZXlpa1cxZXhBclJmTkFXag==
--------------------------------------------------------------
"""
from resources.modules import public
import logging,xbmcplugin,sys,base64,json
addDir3=public.addDir3
addLink=public.addLink
from resources.modules.client import get_html
def run(url,lang,icon,fanart,plot,name):
return addDir3(name,'arraki_air',193,icon,fanart,plot,id=url)
def next_level(url,icon,fanart,plot,name,id):
param_string = base64.b64decode(id).decode('utf-8')
param_string = param_string.split('|')
view = param_string[4]
sort = param_string[3]
maxRecords = param_string[2]
api_key=param_string[5]
# App ID, Table ID, Max Results, Sort ID, View Mode, API Key
headers={'Authorization': 'Bearer {}'.format(api_key)}
import posixpath
ur=posixpath.join('https://api.airtable.com/','v0', param_string[0],param_string[1])
x=get_html(ur,headers=headers,verify=False).json()
all_d=[]
for field in x['records']:
links=[]
res = field['fields']
title=res['channel']
channel = res['channel']
thumbnail = res['thumbnail']
fanart = res['fanart']
category = res['category']
if len(thumbnail)<2:
thumbnail=icon
if len(res['link'])>2:
links .append( res['link'])
if len(res['link2'])>2:
links .append( res['link2'])
if len(res['link3'])>2:
links .append( res['link3'])
if len(links)==0:
continue
if len(links)>1:
f_link='$$$$'.join(links)
else:
f_link=links[0]
aa=addLink(title,f_link,6,False,thumbnail,fanart,category,original_title=title,place_control=True)
all_d.append(aa)
xbmcplugin .addDirectoryItems(int(sys.argv[1]),all_d,len(all_d))