diff options
author | Tzafrir Cohen <tzafrir@cohens.org.il> | 2017-11-10 20:39:10 +0200 |
---|---|---|
committer | Tzafrir Cohen <tzafrir@cohens.org.il> | 2017-11-13 00:54:03 +0200 |
commit | 8042f50a347145840ebecff93a46095a22ade6b7 (patch) | |
tree | 09d24c4b31382d59887e416db5226e20890c7501 | |
parent | 5af06fdbce5629bd03eb92370f9274139bc4629f (diff) |
use meaningfule parameters rather than 'folder'
-rw-r--r-- | addon.py | 44 |
1 files changed, 25 insertions, 19 deletions
@@ -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__': |