def play(params):
    name = params.name
    youtube_id = params.get('youtube_id')

    if youtube_id and requests.head(
            "http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v={0}&format=json"
            .format(youtube_id)).status_code == 200:
        video_url = "plugin://plugin.video.youtube/play/?video_id={0}".format(
            youtube_id)
    else:
        results = []
        for media in youtube_search(urllib.quote_plus(name)):
            label = media["label"]
            label2 = media["plot"]
            image = ""
            if media.get('art'):
                if media['art'].get('thumb'):
                    image = (media['art']['thumb'])
            listitem = xbmcgui.ListItem(label=label,
                                        label2=label2,
                                        iconImage=image)
            listitem.setProperty("path", media["file"])
            results.append(listitem)
        xbmc.executebuiltin("dialog.Close(busydialog)")
        title = "{0} \"{1}\"".format(_("Select mirror for"), name)
        dialog = DialogSelect("DialogSelect.xml",
                              "",
                              listing=results,
                              title=title)
        dialog.doModal()
        result = dialog.result
        if not result:
            return
        video_url = result.getProperty("path")
    return Plugin.resolve_url(play_item={'path': video_url})
Пример #2
0
def play(params):
    play_item = {'path': params.url}
    if SUBTITLE:
        subtitle_file = os.path.join(addon.config_dir, "subtitle.srt")
        subtitle_downloaded = download_subtitle(params.subtitle, subtitle_file)
        if subtitle_downloaded:
            play_item['subtitles'] = [subtitle_file]
    return Plugin.resolve_url(params.url, play_item=play_item)
Пример #3
0
def build_anime_list(animes):
    animes_list = []
    for anime in animes:
        image = "https://punchsub.zlx.com.br/imagens/projetos/animes/%s.jpg" % (
            anime[0])
        animes_list.append({
            'label':
            anime[1],
            'url':
            plugin.get_url(action='view', name=anime[1], id=anime[0]),
            'art': {
                'thumb': image,
                'icon': image,
                'poster': image,
                'fanart': image,
            },
        })
    return Plugin.create_listing(animes_list, content="tvshows", view_mode=500)
Пример #4
0
def season():
    result = anilist.get_animes({})
    animes = result["data"]["Page"]["media"]
    animes_list = []
    for anime in animes:
        image = anime["coverImage"]["large"]
        title = anime["title"]["romaji"]
        animes_list.append({
            'label': title,
            'url': plugin.get_url(action='search', title=title),
            'art': {
                'thumb': image,
                'icon': image,
                'poster': image,
                'fanart': image,
                'banner': anime['bannerImage']
            },
            'info': {
                'video': {
                    'plot': anime['description']
                }
            }
        })
    return Plugin.create_listing(animes_list, content="tvshows", view_mode=50)
Пример #5
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import requests
import urllib2
from resources.lib.simpleplugin import Plugin
from punch import Punch, LoginError
from anilist import Anilist
import string
import xbmc
import re

plugin = Plugin()
punch = Punch(plugin.get_setting("username"), plugin.get_setting("password"))
anilist = Anilist()


def build_anime_list(animes):
    animes_list = []
    for anime in animes:
        image = "https://punchsub.zlx.com.br/imagens/projetos/animes/%s.jpg" % (
            anime[0])
        animes_list.append({
            'label':
            anime[1],
            'url':
            plugin.get_url(action='view', name=anime[1], id=anime[0]),
            'art': {
                'thumb': image,
                'icon': image,
                'poster': image,
import xbmcgui
import xbmcplugin

from resources.lib.mediathekviewweb import MediathekViewWeb
from resources.lib.simpleplugin import Plugin, Addon
from resources.lib.utils import py2_encode, py2_decode

# add pytz module to path
addon_dir = py2_decode(xbmc.translatePath(xbmcaddon.Addon().getAddonInfo('path')))
module_dir = os.path.join(addon_dir, "resources", "lib", "pytz")
sys.path.insert(0, module_dir)

import pytz


plugin = Plugin()
addon = Addon()
_ = plugin.initialize_gettext()

PER_PAGE = plugin.get_setting("per_page")
FUTURE = plugin.get_setting("enable_future")
QUALITY = plugin.get_setting("quality")
SUBTITLE = plugin.get_setting("enable_subtitle")


if SUBTITLE:
    from resources.lib.subtitles import download_subtitle


def list_videos(callback, page, query=None, channel=None):
    m = MediathekViewWeb(PER_PAGE, FUTURE)
# -*- coding: utf-8 -*-
import re
import bs4
import json
import urllib
import urlparse
import requests
from HTMLParser import HTMLParser
from resources.lib.simpleplugin import Plugin, Addon, ListContext

import xbmc
import xbmcgui

ListContext.cache_to_disk = True
plugin = Plugin()
addon = Addon()
_ = plugin.initialize_gettext()

BASE_URL = 'http://dokustreams.de/wp-json/wp/v2'
PER_PAGE = plugin.get_setting('per_page')


class DialogSelect(xbmcgui.WindowXMLDialog):
    def __init__(self, *args, **kwargs):
        xbmcgui.WindowXMLDialog.__init__(self)
        self.listing = kwargs.get("listing")
        self.title = kwargs.get("title")
        self.totalitems = 0
        self.result = None

    def autofocus_listitem(self):
Пример #8
0
# -*- coding: utf-8 -*-

from resources.lib.simpleplugin import Plugin
import httplib2
import xbmc
import xbmcgui
import re
import HTMLParser
import urllib
import socket
import traceback
import types


P = Plugin()


PLUGIN_ID = P.addon.getAddonInfo('id')
MEDIA_URL = 'special://home/addons/{0}/resources/media/'.format(PLUGIN_ID)
ADDON_FOLDER = xbmc.translatePath('special://profile/addon_data/' + PLUGIN_ID)
USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 YaBrowser/18.6.1.770 Yowser/2.5 Safari/537.36'

STR_NO_DATA = 'n/d'
STR_LIST_DELIMITER = '[/B] / [B]'

VIEW_MODES = {
    'skin.estuary': {
        'files': {
            'type': 'files',
            'mode': 55,
        },