summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTzafrir Cohen <tzafrir@cohens.org.il>2017-11-10 20:39:10 +0200
committerTzafrir Cohen <tzafrir@cohens.org.il>2017-11-13 00:54:03 +0200
commit8042f50a347145840ebecff93a46095a22ade6b7 (patch)
tree09d24c4b31382d59887e416db5226e20890c7501
parent5af06fdbce5629bd03eb92370f9274139bc4629f (diff)
use meaningfule parameters rather than 'folder'
-rw-r--r--addon.py44
1 files changed, 25 insertions, 19 deletions
diff --git a/addon.py b/addon.py
index a7b4f3a..b6827fd 100644
--- a/addon.py
+++ b/addon.py
@@ -38,12 +38,19 @@ class Page:
xbmcplugin.endOfDirectory(self.addon_handle)
def placeholder_folder(self, foldername):
+ """ A folder with a single dummy item """
url = 'http://localhost/some_video.mkv'
li = xbmcgui.ListItem(foldername + 'Not Implemented',
iconImage='DefaultVideo.png')
self.add_directory_item(url=url, listitem=li)
self.end_directory()
+ def placeholder_item(self, name, label):
+ """ An item that calls a placeholder folder """
+ url = self.build_url({'mode': 'placeholder', 'name': name})
+ li = xbmcgui.ListItem(label)
+ self.add_directory_item(url=url, listitem=li, isFolder=True)
+
def __str__(self):
return "[base_url: {}, addon_handle: {}, mode: {}]".format(
self.base_url, self.addon_handle, self.mode)
@@ -67,7 +74,7 @@ def get_show_title(base_url, path):
-def tvshows_menu(page, folder_name):
+def tvshows_menu(page):
base_url = 'http://www.kan.org.il'
tvshows_url = base_url + '/video/programs.aspx'
main_page = read_url(tvshows_url)
@@ -78,27 +85,21 @@ def tvshows_menu(page, folder_name):
for a in anchors:
path = a.get('href')
show_id = re.sub('.*=', '', path)
- show_folder_name = folder_name + '-' + show_id
trace("Checking link to " + path)
title = get_show_title(base_url, path)
- url = page.build_url({'mode': 'folder', 'foldername': show_folder_name})
+ url = page.build_url({'mode': 'show', 'id': show_id})
li = xbmcgui.ListItem(title)
page.add_directory_item(url=url, listitem=li)
page.end_directory()
def main_page(page):
- url = page.build_url({'mode': 'folder', 'foldername': 'tv-shows'})
+ url = page.build_url({'mode': 'shows', 'name': 'tv-shows'})
li = xbmcgui.ListItem(u'תוכניות טלוויזיה')
page.add_directory_item(url=url, listitem=li, isFolder=True)
- url = page.build_url({'mode': 'folder', 'foldername': 'net-shows'})
- li = xbmcgui.ListItem(u'תוכניות רשת')
- page.add_directory_item(url=url, listitem=li, isFolder=True)
-
- url = page.build_url({'mode': 'folder', 'foldername': 'new-items'})
- li = xbmcgui.ListItem(u'קטעים חדשים')
- page.add_directory_item(url=url, listitem=li, isFolder=True)
+ page.placeholder_item('net-shows', u'תוכניות רשת')
+ page.placeholder_item('new-items', u'קטעים חדשים')
page.end_directory()
@@ -106,16 +107,21 @@ def main_page(page):
def main():
page = Page(sys.argv)
- trace("Tzafrir: {}".format(page))
+ trace("{}".format(page))
+ if page.mode is not None:
+ mode = page.mode[0]
+
if page.mode is None:
main_page(page)
-
- elif page.mode[0] == 'folder':
- foldername = page.args['foldername'][0]
- if foldername == 'tv-shows':
- tvshows_menu(page, foldername)
- else:
- page.placeholder_folder(foldername)
+ elif mode == 'shows':
+ tvshows_menu(page)
+ elif mode == 'show':
+ pass
+ elif mode == 'placeholder':
+ name = page.args['name'][0]
+ page.placeholder_folder(name)
+ else:
+ trace("No handler for mode '{}'".format(mode))
if __name__ == '__main__':