Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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)])
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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)])
Exemplo n.º 8
0
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')
Exemplo n.º 9
0
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)
Exemplo n.º 10
0
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)
Exemplo n.º 11
0
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)
Exemplo n.º 12
0
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')
Exemplo n.º 13
0
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)
Exemplo n.º 14
0
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)
Exemplo n.º 15
0
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)
Exemplo n.º 16
0
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)
Exemplo n.º 17
0
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')
Exemplo n.º 18
0
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')
Exemplo n.º 19
0
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')
Exemplo n.º 20
0
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)
Exemplo n.º 21
0
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)
Exemplo n.º 22
0
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)
Exemplo n.º 23
0
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)
Exemplo n.º 24
0
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))
Exemplo n.º 25
0
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)])