def _(): response = request(plugin.pathquery) document = BeautifulSoup(response.text, 'html.parser').find( 'ul', {'class': ['list-episode-item', 'list-star']}) items = [] if document is not None: if plugin.path == '/list-star.html' or ( 'type' in plugin.query and 'stars' in plugin.query['type']): for li in document.find_all('li', recursive=False): plot = li.find('ul') item = ListItem(li.find('img').attrs['alt']) item.setArt({'poster': li.find('img').attrs['data-original']}) item.setInfo('video', {'plot': '' if plot is None else plot.text}) items.append( (plugin.url_for(li.find('a').attrs['href']), item, True)) elif plugin.path in ('/most-popular-drama', '/search'): idb.connect() for a in document.find_all('a'): path = a.attrs['href'] drama = drama_detail(path) item = ListItem(drama['title']) item.setArt({'poster': drama.pop('poster')}) item.setInfo('video', drama) items.append((plugin.url_for(path), item, True)) idb.close() else: for a in document.find_all('a'): item = ListItem(u'[{}] {} {}'.format( a.find('span', { 'class': 'type' }).text, a.find('h3').text, a.find('span', { 'class': 'ep' }).text)) item.setArt({'poster': a.find('img').attrs['data-original']}) item.setInfo('video', {}) item.setProperty('IsPlayable', 'true') items.append((plugin.url_for(a.attrs['href']), item, False)) document = document.find_next_sibling() if document is not None: for li in document.find_all('li', {'class': ['next', 'previous']}): item = ListItem( localized_str(33600 if li.text == 'Next >' else 33601)) items.append( (plugin.url_for(plugin.path + li.find('a').attrs['href']), item, True)) print(' ----- ' + plugin.url_for(plugin.path + li.find('a').attrs['href'])) xbmcplugin.setContent(plugin.handle, 'videos') xbmcplugin.addDirectoryItems(plugin.handle, items, len(items)) xbmcplugin.endOfDirectory(plugin.handle)
def _(path): items = [(plugin.url_for('/filter-select-id/char/' + path), ListItem(localized_str(33400)), True), (plugin.url_for('/filter-select-id/year/' + path), ListItem(localized_str(33401)), True), (plugin.url_for('/filter-select-id/status/' + path), ListItem(localized_str(33402)), True)] xbmcplugin.setContent(plugin.handle, 'videos') xbmcplugin.addDirectoryItems(plugin.handle, items, len(items)) xbmcplugin.endOfDirectory(plugin.handle)
def _(): charlist, statuslist, yearlist = request.parse(plugin.path, 'FilterListParser') genrelist = [ 'Action', 'Adventure', 'Comedy', 'Crime', 'Drama', 'Fantasy', 'Horror', 'Mystery', 'Romance', 'Sci-fi', 'Thriller' ] dialog = FilterDialog(charlist, genrelist, statuslist, yearlist) dialog.doModal() if not dialog.cancelled: dramalist = request.parse(plugin.path, 'CharGenreStatusYearDramaListParser', **dialog.result()) idb.connect() items = [] for (path, poster, info) in idb.fetchall(dramalist): item = ListItem(info['title']) item.setArt({'poster': poster}) item.setInfo('video', info) items.append((url_for(path), item, True)) idb.close() show(items, 'tvshows', True)
def _(): edb.connect() idb.connect() items = [] for path in edb.fetchall(): drama = drama_detail(path) item = ListItem(drama['title']) item.addContextMenuItems([ (localized_str(33100), 'RunPlugin(plugin://plugin.video.dramacool/recently-viewed?delete=' + path + ')'), (localized_str(33101), 'RunPlugin(plugin://plugin.video.dramacool/recently-viewed?delete=%)' ) ]) item.setArt({'poster': drama.pop('poster')}) item.setInfo('video', drama) items.append((plugin.url_for(path), item, True)) edb.close() idb.close() xbmcplugin.setContent(plugin.handle, 'videos') xbmcplugin.addDirectoryItems(plugin.handle, items, len(items)) xbmcplugin.endOfDirectory(plugin.handle)
def _(): show([(url_for('/category/korean-movies'), list_item(33300), True), (url_for('/category/japanese-movies'), list_item(33301), True), (url_for('/category/taiwanese-movies'), list_item(33302), True), (url_for('/category/hong-kong-movies'), list_item(33303), True), (url_for('/category/chinese-movies'), list_item(33304), True), (url_for('/category/american-movies'), list_item(33305), True), (url_for('/category/other-asia-movies'), list_item(33306), True), (url_for('/category/thailand-movies'), list_item(33307), True)])
def _(): (vodlist, paginationlist) = WebSession().get(plugin.path, VodShowParser()) db.connect() items = [] for path, rating in vodlist: poster, label, info = db.fetchone_vod(path) item = ListItem(label, poster=poster, info=info, rating=rating) items.append((plugin.url_for(path), item, True)) for path, title in paginationlist: item = ListItem(title, properties={'SpecialSort': 'bottom'}) items.append((plugin.url_for(path), item, True)) db.close() xbmcplugin.setContent(plugin.handle, 'tvshows') xbmcplugin.addDirectoryItems(plugin.handle, items, len(items)) xbmcplugin.endOfDirectory(plugin.handle)
def _(): show([(url_for('/category/korean-drama'), list_item(33200), True), (url_for('/category/japanese-drama'), list_item(33201), True), (url_for('/category/taiwanese-drama'), list_item(33202), True), (url_for('/category/hong-kong-drama'), list_item(33203), True), (url_for('/category/chinese-drama'), list_item(33204), True), (url_for('/category/other-asia-drama'), list_item(33205), True), (url_for('/category/thailand-drama'), list_item(33206), True)])
def _(): items = [] for (path, title) in request.parse(plugin.path, 'EpisodeListParser'): item = ListItem(title) item.setInfo('video', {}) item.setProperty('IsPlayable', 'true') items.append((url_for(path), item, False)) show(items, 'episodes')
def _(): items = [] for path, label in WebSession().get(plugin.path, EpisodeParser()): item = ListItem(label, info={}, properties={'IsPlayable': 'true'}) items.append((plugin.url_for(path), item, False)) xbmcplugin.setContent(plugin.handle, 'episodes') xbmcplugin.addDirectoryItems(plugin.handle, items, len(items)) xbmcplugin.endOfDirectory(plugin.handle)
def _(): (starlist, paginationlist) = request.parse(plugin.full_path, 'StarPaginationListParser') items = [] for (path, poster, title, plot) in starlist: item = ListItem(title) item.setArt({'poster': poster}) item.setInfo('video', {'plot': plot}) items.append((url_for(path), item, True)) append_pagination(items, paginationlist) show(items)
def _(): idb.connect() items = [] for (path, poster, info) in idb.fetchall( request.parse(plugin.path, 'StarDramaListParser')): item = ListItem(info['title']) item.setArt({'poster': poster}) item.setInfo('video', info) items.append((url_for(path), item, True)) idb.close() show(items, 'tvshows', True)
def _(): items = [] (starlist, paginationlist) = request.parse(plugin.full_path, 'StarSearchPaginationListParser') for (path, poster, title) in starlist: item = ListItem(title) item.setArt({'poster': poster}) items.append((url_for(path), item, True)) append_pagination(items, paginationlist) show(items, 'artists')
def _(select_id, path): response = request(path) document = BeautifulSoup(response.text, 'html.parser') items = [] if select_id == 'char': for div in document.find_all('div', {'class': 'list-content'}): select_value = div.find('h4').text item = ListItem(select_value) items.append((plugin.url_for('/list-select-id/{}/{}{}'.format( select_id, ord(select_value), path)), item, True)) else: for option in document.find('select', { 'id': 'select-{}'.format(select_id) }).find_all('option')[1:]: item = ListItem(option.text) items.append((plugin.url_for('/list-select-id/{}/{}{}'.format( select_id, option.attrs['value'], path)), item, True)) xbmcplugin.setContent(plugin.handle, 'videos') xbmcplugin.addDirectoryItems(plugin.handle, items, len(items)) xbmcplugin.endOfDirectory(plugin.handle)
def _(select_id, select_value, path): idb.connect() response = request(path) document = BeautifulSoup(response.text, 'html.parser') items = [] if select_id == 'char': select_value = chr(int(select_value)) for div in document.find_all('div', {'class': 'list-content'}): if div.find('h4').text == select_value: for a in div.find('ul', { 'class': 'filter-char' }).find_all('a'): path = a.attrs['href'] drama = drama_detail(path) item = ListItem(drama['title']) item.setArt({'poster': drama.pop('poster')}) item.setInfo('video', drama) items.append((plugin.url_for(path), item, True)) break else: for li in document.find_all( 'li', {'class': '{}_{}'.format(select_id, select_value)}): path = li.find('a').attrs['href'] drama = drama_detail(path) item = ListItem(drama['title']) item.setArt({'poster': drama.pop('poster')}) item.setInfo('video', drama) items.append((plugin.url_for(path), item, True)) idb.close() xbmcplugin.setContent(plugin.handle, 'videos') xbmcplugin.addDirectoryItems(plugin.handle, items, len(items)) xbmcplugin.addSortMethod(plugin.handle, xbmcplugin.SORT_METHOD_TITLE) xbmcplugin.addSortMethod(plugin.handle, xbmcplugin.SORT_METHOD_VIDEO_YEAR) xbmcplugin.endOfDirectory(plugin.handle)
def _(): items = [] db.connect() for path in db.fetchall_recently_watched(): poster, label, info = db.fetchone_vod(path) item = ListItem(label, poster=poster, info=info) item.addContextMenuItems([(_addon.getLocalizedString(30010), f'RunPlugin({plugin.url}?delete={path})'), (_addon.getLocalizedString(30011), f'RunPlugin({plugin.url}?delete=%)')]) items.append((plugin.url_for(path), item, True)) db.close() xbmcplugin.setContent(plugin.handle, 'tvshows') xbmcplugin.addDirectoryItems(plugin.handle, items, len(items)) xbmcplugin.endOfDirectory(plugin.handle)
def _(): items = [(plugin.url_for('/vodsearch'), ListItem(_addon.getLocalizedString(30000), icon='DefaultAddonsSearch.png'), True), (plugin.url_for('/recently-watched'), ListItem(_addon.getLocalizedString(30001), icon='DefaultTags.png'), True), (plugin.url_for('/vodshow/2--------1---.html?dialog=True'), ListItem(_addon.getLocalizedString(30002), icon='DefaultTVShows.png'), True), (plugin.url_for('/vodshow/1--------1---.html?dialog=True'), ListItem(_addon.getLocalizedString(30003), icon='DefaultTVShows.png'), True), (plugin.url_for('/vodshow/3--------1---.html?dialog=True'), ListItem(_addon.getLocalizedString(30004), icon='DefaultTVShows.png'), True), (plugin.url_for('/vodshow/4--------1---.html?dialog=True'), ListItem(_addon.getLocalizedString(30005), icon='DefaultTVShows.png'), True)] xbmcplugin.addDirectoryItems(plugin.handle, items, len(items)) xbmcplugin.endOfDirectory(plugin.handle)
def _(): items = [] (dramalist, paginationlist) = request.parse(plugin.full_path, 'DramaPaginationListParser') idb.connect() for path in dramalist: (poster, info) = idb.fetchone(path) item = ListItem(info['title']) item.setArt({'poster': poster}) item.setInfo('video', info) items.append((url_for(path), item, True)) idb.close() append_pagination(items, paginationlist) show(items, 'tvshows')
def _(): (recentlylist, paginationlist) = request.parse(plugin.full_path, 'RecentlyPaginationListParser') idb.connect() items = [] for (path, poster, title) in recentlylist: item = ListItem(title) item.setArt({'poster': poster}) item.setInfo('video', idb.fetchplot(poster)) item.setProperty('IsPlayable', 'true') items.append((url_for(path), item, False)) idb.close() append_pagination(items, paginationlist) show(items, 'tvshows')
def _(): edb.connect() idb.connect() items = [] for path in edb.fetchall(): (poster, info) = idb.fetchone(path) item = ListItem(info['title']) item.addContextMenuItems([(_addon.getLocalizedString(33100), f'RunPlugin({plugin.url}?delete={path})'), (_addon.getLocalizedString(33101), f'RunPlugin({plugin.url}?delete=%)')]) item.setArt({'poster': poster}) item.setInfo('video', info) items.append((url_for(path), item, True)) edb.close() idb.close() show(items, 'tvshows')
def _(): items = [(plugin.url_for('/filter-select/category/korean-movies'), ListItem(localized_str(33300)), True), (plugin.url_for('/filter-select/category/japanese-movies'), ListItem(localized_str(33301)), True), (plugin.url_for('/filter-select/category/taiwanese-movies'), ListItem(localized_str(33302)), True), (plugin.url_for('/filter-select/category/hong-kong-movies'), ListItem(localized_str(33303)), True), (plugin.url_for('/filter-select/category/chinese-movies'), ListItem(localized_str(33304)), True), (plugin.url_for('/filter-select/category/american-movies'), ListItem(localized_str(33305)), True), (plugin.url_for('/filter-select/category/other-asia-movies'), ListItem(localized_str(33306)), True), (plugin.url_for('/filter-select/category/thailand-movies'), ListItem(localized_str(33307)), True)] xbmcplugin.setContent(plugin.handle, 'videos') xbmcplugin.addDirectoryItems(plugin.handle, items, len(items)) xbmcplugin.endOfDirectory(plugin.handle)
def _(): response = request(plugin.path) document = BeautifulSoup(response.text, 'html.parser') idb.connect() items = [] for a in document.find('ul', {'class': 'list-episode-item'}).find_all('a'): path = a.attrs['href'] drama = drama_detail(path) item = ListItem(drama['title']) item.setArt({'poster': drama.pop('poster')}) item.setInfo('video', drama) items.append((plugin.url_for(path), item, True)) idb.close() xbmcplugin.setContent(plugin.handle, 'videos') xbmcplugin.addDirectoryItems(plugin.handle, items, len(items)) xbmcplugin.addSortMethod(plugin.handle, xbmcplugin.SORT_METHOD_TITLE) xbmcplugin.addSortMethod(plugin.handle, xbmcplugin.SORT_METHOD_VIDEO_YEAR) xbmcplugin.endOfDirectory(plugin.handle)
def _(): edb.connect() edb.add(plugin.path) edb.close() response = request(plugin.path) document = BeautifulSoup(response.text, 'html.parser').find('ul', {'class': 'all-episode'}) items = [] for a in reversed(document.find_all('a')): item = ListItem('[{}] {}'.format( a.find('span').text, a.find('h3').text.strip('\n ').encode('utf-8'))) item.setInfo('video', {}) item.setProperty('IsPlayable', 'true') items.append((plugin.url_for(a.attrs['href']), item, False)) xbmcplugin.setContent(plugin.handle, 'videos') xbmcplugin.addDirectoryItems(plugin.handle, items, len(items)) xbmcplugin.endOfDirectory(plugin.handle)
def _(): items = [ (plugin.url_for('/search?type=movies'), ListItem(localized_str(33000)), True), (plugin.url_for('/search?type=stars'), ListItem(localized_str(33001)), True), (plugin.url_for('/recently-viewed'), ListItem(localized_str(33002)), True), (plugin.url_for('/recently-added?page=1'), ListItem(localized_str(33003)), True), (plugin.url_for('/recently-added-movie?page=1'), ListItem(localized_str(33004)), True), (plugin.url_for('/recently-added-kshow?page=1'), ListItem(localized_str(33005)), True), (plugin.url_for('/drama-list'), ListItem(localized_str(33006)), True), (plugin.url_for('/drama-movie'), ListItem(localized_str(33007)), True), (plugin.url_for('/filter-select/kshow'), ListItem(localized_str(33008)), True), (plugin.url_for('/most-popular-drama?page=1'), ListItem(localized_str(33009)), True), (plugin.url_for('/list-star.html?page=1'), ListItem(localized_str(33010)), True) ] xbmcplugin.setContent(plugin.handle, 'videos') xbmcplugin.addDirectoryItems(plugin.handle, items, len(items)) xbmcplugin.endOfDirectory(plugin.handle)
def append_pagination(items, paginationlist): for (query, title) in paginationlist: item = list_item(33600) if title == 'next' else list_item( 33601, 'DefaultFolderBack.png') item.setProperty('SpecialSort', 'bottom') items.append((url_for(plugin.path + query), item, True))
def _(): show([(url_for('/search?type=movies'), list_item(33000, 'DefaultAddonsSearch.png'), True), (url_for('/search?type=stars'), list_item(33001, 'DefaultAddonsSearch.png'), True), (url_for('/recently-viewed'), list_item(33002, 'DefaultUser.png'), True), (url_for('/recently-added?page=1'), list_item(33003, 'DefaultRecentlyAddedEpisodes.png'), True), (url_for('/recently-added-movie?page=1'), list_item(33004, 'DefaultRecentlyAddedEpisodes.png'), True), (url_for('/recently-added-kshow?page=1'), list_item(33005, 'DefaultRecentlyAddedEpisodes.png'), True), (url_for('/drama-list'), list_item(33006, 'DefaultTVShows.png'), True), (url_for('/drama-movie'), list_item(33007, 'DefaultTVShows.png'), True), (url_for('/kshow'), list_item(33008, 'DefaultTVShows.png'), True), (url_for('/most-popular-drama?page=1'), list_item(33009, 'DefaultFavourites.png'), True), (url_for('/list-star.html?page=1'), list_item(33010, 'DefaultFavourites.png'), True)])