Fix Community Channel
This commit is contained in:
+39
-30
@@ -57,38 +57,44 @@ def show_channels(item):
|
|||||||
|
|
||||||
for key, channel in json['channels'].items():
|
for key, channel in json['channels'].items():
|
||||||
# Find File Path
|
# Find File Path
|
||||||
if 'http' in channel['path']: file_path = httptools.downloadpage(channel['path'],follow_redirects=True).url
|
if 'http' in channel['path']:
|
||||||
|
try:
|
||||||
|
file_path = httptools.downloadpage(channel['path'], follow_redirects=True, timeout=5).url
|
||||||
|
except:
|
||||||
|
support.log('Offline')
|
||||||
|
file_path = None
|
||||||
else: file_path = channel['path']
|
else: file_path = channel['path']
|
||||||
|
|
||||||
# make relative path
|
if file_path:
|
||||||
path = os.path.dirname(os.path.abspath(file_path))
|
# make relative path
|
||||||
if 'http' in path: path = path[path.find('http'):].replace('\\','/').replace(':/','://')
|
path = os.path.dirname(os.path.abspath(file_path))
|
||||||
if file_path.startswith('http'): file_url = httptools.downloadpage(file_path, follow_redirects=True).data
|
if 'http' in path: path = path[path.find('http'):].replace('\\','/').replace(':/','://')
|
||||||
elif os.path.isfile(file_path): file_url = open(file_path, "r").read()
|
if file_path.startswith('http'): file_url = httptools.downloadpage(file_path, follow_redirects=True).data
|
||||||
else:
|
elif os.path.isfile(file_path): file_url = open(file_path, "r").read()
|
||||||
item.channel_id = key
|
else:
|
||||||
remove_channel(item)
|
item.channel_id = key
|
||||||
file_url=''
|
remove_channel(item)
|
||||||
|
file_url=''
|
||||||
|
|
||||||
# load json
|
# load json
|
||||||
if file_url:
|
if file_url:
|
||||||
json_url = jsontools.load(file_url)
|
json_url = jsontools.load(file_url)
|
||||||
|
|
||||||
thumbnail = relative('thumbnail', json_url, path)
|
thumbnail = relative('thumbnail', json_url, path)
|
||||||
if not thumbnail: thumbnail = item.thumbnail
|
if not thumbnail: thumbnail = item.thumbnail
|
||||||
fanart = relative('fanart', json_url, path)
|
fanart = relative('fanart', json_url, path)
|
||||||
plot = json_url['plot'] if json_url.has_key('plot') else ''
|
plot = json_url['plot'] if json_url.has_key('plot') else ''
|
||||||
|
|
||||||
itemlist.append(Item(channel=item.channel,
|
itemlist.append(Item(channel=item.channel,
|
||||||
title=typo(channel['channel_name'],'bold'),
|
title=typo(channel['channel_name'],'bold'),
|
||||||
url=file_path,
|
url=file_path,
|
||||||
thumbnail=thumbnail,
|
thumbnail=thumbnail,
|
||||||
fanart=fanart,
|
fanart=fanart,
|
||||||
plot=plot,
|
plot=plot,
|
||||||
action='show_menu',
|
action='show_menu',
|
||||||
channel_id = key,
|
channel_id = key,
|
||||||
context=context,
|
context=context,
|
||||||
path=path))
|
path=path))
|
||||||
|
|
||||||
autoplay.show_option(item.channel, itemlist)
|
autoplay.show_option(item.channel, itemlist)
|
||||||
support.channel_config(item, itemlist)
|
support.channel_config(item, itemlist)
|
||||||
@@ -490,6 +496,7 @@ def get_seasons(item):
|
|||||||
fulltitle=item.fulltitle,
|
fulltitle=item.fulltitle,
|
||||||
show=item.show,
|
show=item.show,
|
||||||
thumbnails=item.thumbnails,
|
thumbnails=item.thumbnails,
|
||||||
|
filterseason=str(season['season']),
|
||||||
url=url,
|
url=url,
|
||||||
action='episodios',
|
action='episodios',
|
||||||
contentSeason=season['season'],
|
contentSeason=season['season'],
|
||||||
@@ -528,9 +535,10 @@ def get_seasons(item):
|
|||||||
|
|
||||||
|
|
||||||
def episodios(item):
|
def episodios(item):
|
||||||
support.log()
|
support.log(item)
|
||||||
itm = item
|
itm = item
|
||||||
|
|
||||||
|
|
||||||
if inspect.stack()[1][3] not in ['add_tvshow', 'get_episodes', 'update', 'find_episodes']:
|
if inspect.stack()[1][3] not in ['add_tvshow', 'get_episodes', 'update', 'find_episodes']:
|
||||||
pagination = int(defp) if defp.isdigit() else ''
|
pagination = int(defp) if defp.isdigit() else ''
|
||||||
else: pagination = ''
|
else: pagination = ''
|
||||||
@@ -573,7 +581,8 @@ def episodios(item):
|
|||||||
|
|
||||||
title = ' - ' + episode['title'] if episode.has_key('title') else ''
|
title = ' - ' + episode['title'] if episode.has_key('title') else ''
|
||||||
title = '%sx%s%s' % (season_number, episode_number, title)
|
title = '%sx%s%s' % (season_number, episode_number, title)
|
||||||
if season_number == item.filter or not item.filterseason:
|
|
||||||
|
if season_number == item.filterseason or not item.filterseason:
|
||||||
itemlist.append(Item(channel= item.channel,
|
itemlist.append(Item(channel= item.channel,
|
||||||
title= format_title(title),
|
title= format_title(title),
|
||||||
fulltitle = item.fulltitle,
|
fulltitle = item.fulltitle,
|
||||||
@@ -606,7 +615,7 @@ def episodios(item):
|
|||||||
action='episodios',
|
action='episodios',
|
||||||
contentSeason=season,
|
contentSeason=season,
|
||||||
infoLabels=infoLabels,
|
infoLabels=infoLabels,
|
||||||
filterseason=season,
|
filterseason=str(season),
|
||||||
path=item.path))
|
path=item.path))
|
||||||
|
|
||||||
elif pagination and len(json_data['episodes_list']) >= pag * pagination:
|
elif pagination and len(json_data['episodes_list']) >= pag * pagination:
|
||||||
|
|||||||
Reference in New Issue
Block a user