# -*- coding: UTF-8 -*- """ Kan Video plugin """ from bs4 import BeautifulSoup import sys import urllib import urllib2 import urlparse import xbmcgui import xbmcplugin KAN_URL = 'http://www.kan.org.il' USER_AGENT = 'Kodi' # I'm optimistic base_url = sys.argv[0] addon_handle = int(sys.argv[1]) args = urlparse.parse_qs(sys.argv[2][1:]) mode = args.get('mode', None) def build_url(query): return base_url + '?' + urllib.urlencode(query) def read_url(url): req = urllib2.Request(url) req.add_header('User-Agent', USER_AGENT) response = urllib2.urlopen(req, timeout=100) return response.read() def placeholder_folder(foldername): url = 'http://localhost/some_video.mkv' li = xbmcgui.ListItem(foldername + 'Not Implemented', iconImage='DefaultVideo.png') xbmcplugin.addDirectoryItem(handle=addon_handle, url=url, listitem=li) xbmcplugin.endOfDirectory(addon_handle) def tvshows_menu(): tvshows_url = 'http://www.kan.org.il/video/programs.aspx' main_page = read_url(tvshows_url) parsed = BeautifulSoup(main_page) anchors = parsed.find_all('a', class_="program_category_link w-inline-block") for a in anchors: path = a.href li = xbmcgui.ListItem(foldername + 'Show' + path) xbmcplugin.addDirectoryItem(handle=addon_handle, listitem=li) xbmcplugin.endOfDirectory(addon_handle) if mode is None: url = build_url({'mode': 'folder', 'foldername': 'tv-shows'}) li = xbmcgui.ListItem(u'תוכניות טלוויזיה') xbmcplugin.addDirectoryItem(handle=addon_handle, url=url, listitem=li, isFolder=True) url = build_url({'mode': 'folder', 'foldername': 'net-shows'}) li = xbmcgui.ListItem(u'תוכניות רשת') xbmcplugin.addDirectoryItem(handle=addon_handle, url=url, listitem=li, isFolder=True) url = build_url({'mode': 'folder', 'foldername': 'new-items'}) li = xbmcgui.ListItem(u'קטעים חדשים') xbmcplugin.addDirectoryItem(handle=addon_handle, url=url, listitem=li, isFolder=True) xbmcplugin.endOfDirectory(addon_handle) elif mode[0] == 'folder': foldername = args['foldername'][0] if foldername == 'tv-shows': tvshows_menu() else: placeholder_folder(foldername)