示例#1
0
def display_list_series():
    category_url = args['categoryurl'][0]
    selected_letter = args['selectedletter'][0]

    # Get name and URL of all series starting with the letter of the chosen folder.
    tree = build_tree(category_url)

    series = tree.findAll('span', attrs={'class': 'title_link'})

    for entry in series:

        if selected_letter != "0":
            tag = entry.find('a', text=re.compile("^" + selected_letter + ".+?"))
        else:
            tag = entry.find('a', text=re.compile("^[0-9].+?"))

        if tag is not None:
            # Since some titles and URLs contain incompatible unicode characters.
            series_name = entry.text.encode("ascii", "ignore")
            series_url = entry.find('a')['href'].encode("ascii", "ignore")

            icon = os_images.get_poster_image(series_name)

            url = build_url({'mode': 'series', 'seriesname': series_name, 'seriesurl': series_url, 'seriesicon': icon})
            li = xbmcgui.ListItem(series_name, iconImage=icon)
            li.setThumbnailImage(icon)
            li.setIconImage(icon)
            li.setProperty('fanart_image', __addon__.getAddonInfo('fanart'))
            xbmcplugin.addDirectoryItem(handle=addon_handle, url=url,
                                        listitem=li, isFolder=True)

    xbmcplugin.addDirectoryItem(handle=addon_handle, url=url, listitem=li, isFolder=True)

    xbmcplugin.endOfDirectory(addon_handle)
示例#2
0
def start_chosen_video():
    # Perform an additional login-check, in order to properly load the cookie.
    if os_account.user_is_logged_in():

        episode_url = args['episodeurl'][0]
        episode_nbr = args['episodename'][0]
        series_name = args['seriesname'][0]

        # Check if a "mature content"-warning is displayed.
        response = urllib2.urlopen(episode_url)
        html = response.read()
        warnings = re.findall('warning.jpg', html)

        # If warnings are found: Follow the redirect URL to access the actual video.
        if len(warnings) > 0:
            new_url = re.findall('"../..(/watch.+?)">', html)
            episode_url = "http://otaku-streamers.com/{0}".format(new_url[0])

        # Get URL to file.
        video_path = resolve(episode_url)

        # Set meta-data.
        li = xbmcgui.ListItem(thumbnailImage=os_images.get_poster_image(series_name))

        if episode_nbr == 'Full Movie':
            li.setInfo('video', {'title': series_name})
        else:
            li.setInfo('video', {'title': '{0} - {1}'.format(series_name, episode_nbr)})

        # Start video playback.
        xbmc.Player().play(video_path, li)

    xbmcplugin.endOfDirectory(addon_handle)
示例#3
0
def start_chosen_video():
    # Perform an additional login-check, in order to properly load the cookie.
    if os_account.user_is_logged_in():

        episode_url = args['episodeurl'][0]
        episode_nbr = args['episodename'][0]
        series_name = args['seriesname'][0]

        # Check if a "mature content"-warning is displayed.
        response = urllib2.urlopen(episode_url)
        html = response.read()
        warnings = re.findall('warning.jpg', html)

        # If warnings are found: Follow the redirect URL to access the actual video.
        if len(warnings) > 0:
            new_url = re.findall('"../..(/watch.+?)">', html)
            episode_url = "https://otaku-streamers.com/{0}".format(new_url[0])

        # Get URL to file.
        video_path = resolve(episode_url)

        # Set meta-data.
        li = xbmcgui.ListItem(
            thumbnailImage=os_images.get_poster_image(series_name))

        if episode_nbr == 'Full Movie':
            li.setInfo('video', {'title': series_name})
        else:
            li.setInfo('video',
                       {'title': '{0} - {1}'.format(series_name, episode_nbr)})

        # Start video playback.
        xbmc.Player().play(video_path, li)

    xbmcplugin.endOfDirectory(addon_handle)
示例#4
0
def display_list_episodes_movies():
    series_name = args['seriesname'][0]
    series_url = args['seriesurl'][0]

    tree = build_tree(series_url)

    # Get image.
    os_images.download_poster_image(series_name, series_url)
    icon = os_images.get_poster_image(series_name)

    # Get the URL for all episodes/movies
    rows = tree.findAll(
        "a", {"href": re.compile("https://otaku-streamers.com/watch/")})

    for entry in rows:
        # Since some URLs contain incompatible unicode characters.
        cleanUrl = entry['href'].encode("ascii", "ignore")

        url = build_url({
            'mode': 'episode',
            'seriesname': series_name,
            'episodename': entry.parent.text,
            'episodeurl': cleanUrl
        })
        li = xbmcgui.ListItem(entry.parent.text, iconImage=icon)
        li.setProperty('fanart_image', __addon__.getAddonInfo('fanart'))

        xbmcplugin.addDirectoryItem(handle=addon_handle, url=url, listitem=li)

    xbmcplugin.endOfDirectory(addon_handle)
示例#5
0
def display_list_series():
    category_url = args['categoryurl'][0]
    selected_letter = args['selectedletter'][0]

    # Get name and URL of all series starting with the letter of the chosen folder.
    tree = build_tree(category_url)

    series = tree.findAll('span', attrs={'class': 'title_link'})

    for entry in series:

        if selected_letter != "0":
            tag = entry.find('a',
                             text=re.compile("^" + selected_letter + ".+?"))
        else:
            tag = entry.find('a', text=re.compile("^[0-9].+?"))

        if tag is not None:
            # Since some titles and URLs contain incompatible unicode characters.
            series_name = entry.text.encode("ascii", "ignore")
            series_url = entry.find('a')['href'].encode("ascii", "ignore")

            icon = os_images.get_poster_image(series_name)

            url = build_url({
                'mode': 'series',
                'seriesname': series_name,
                'seriesurl': series_url,
                'seriesicon': icon
            })
            li = xbmcgui.ListItem(series_name, iconImage=icon)
            li.setThumbnailImage(icon)
            li.setIconImage(icon)
            li.setProperty('fanart_image', __addon__.getAddonInfo('fanart'))
            xbmcplugin.addDirectoryItem(handle=addon_handle,
                                        url=url,
                                        listitem=li,
                                        isFolder=True)

    xbmcplugin.addDirectoryItem(handle=addon_handle,
                                url=url,
                                listitem=li,
                                isFolder=True)

    xbmcplugin.endOfDirectory(addon_handle)
示例#6
0
def display_list_episodes_movies():
    series_name = args['seriesname'][0]
    series_url = args['seriesurl'][0]

    tree = build_tree(series_url)

    # Get image.
    os_images.download_poster_image(series_name, series_url)
    icon = os_images.get_poster_image(series_name)

    # Get the URL for all episodes/movies
    rows = tree.findAll("a", {"href": re.compile("http://otaku-streamers.com/watch/")})

    for entry in rows:
        # Since some URLs contain incompatible unicode characters.
        cleanUrl = entry['href'].encode("ascii", "ignore")

        url = build_url({'mode': 'episode', 'seriesname': series_name, 'episodename': entry.parent.text, 'episodeurl': cleanUrl})
        li = xbmcgui.ListItem(entry.parent.text, iconImage=icon)
        li.setProperty('fanart_image', __addon__.getAddonInfo('fanart'))

        xbmcplugin.addDirectoryItem(handle=addon_handle, url=url, listitem=li)

    xbmcplugin.endOfDirectory(addon_handle)