From 8042f50a347145840ebecff93a46095a22ade6b7 Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Fri, 10 Nov 2017 20:39:10 +0200 Subject: use meaningfule parameters rather than 'folder' --- addon.py | 44 +++++++++++++++++++++++++------------------- 1 file 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__': -- cgit v1.2.3