Exemplo n.º 1
0
    def getFilmInfo(self, url):
        print "*** getFilmInfo rot URL %s" % url

        response = common.fetchPage({"link": url})
        entry = common.parseDOM(response["content"], 'div', attrs={'class': 'entry'})

        flash_player = common.parseDOM(entry, "object")
        image = common.parseDOM(entry, 'img', attrs={'class': 'm_pic'}, ret='src')[0]

        uhash = common.parseDOM(flash_player, "param", attrs={"name": "flashvars"}, ret="pl")[0].split('&')[0]
        uhash = uhash.replace('"', '')

        # 1) get encoded URL from playlist/file HASH
        uppod_url = uppod.decodeSourceURL(uhash)

        # 2) get source HASH from encoded URL => getDecodedHashFromSourceURL(url, referer)
        uppod_hash = uppod.getDecodedHashFromSourceURL(uppod_url, 'http://serialu.net/media/stil-nov/uppod.swf')

        # http://serialu.net/una1.php?s=I.Hear.Your.Voice&md5=5de21a077941aaafd46e803be2a0de89&rand=0.16188193298876286

        # 3) get playlist/file from encoded HASH
        json_playlist = json.loads(uppod.decode(uppod_hash).encode('latin1').decode('utf-8'))
        playlist = json_playlist['playlist']

        if 'playlist' in playlist[0]:
            print "*** This is a playlist with several seasons"

            for season in playlist:
                episods = season['playlist']

                for episode in episods:
                    title = episode['comment']
                    uri = sys.argv[0] + '?mode=play&url=%s' % uppod.decode(episode['file'])
                    info = {'title': title, 'overlay': xbmcgui.ICON_OVERLAY_WATCHED, 'playCount': 0}

                    item = xbmcgui.ListItem(title, thumbnailImage=image)
                    item.setInfo(type='Video', infoLabels=info)
                    item.setProperty('IsPlayable', 'true')
                    xbmcplugin.addDirectoryItem(self.handle, uri, item, False)
        else:
            print "*** This is a playlist with one season"

            for episode in playlist:
                title = episode['comment']
                uri = sys.argv[0] + '?mode=play&url=%s' % uppod.decode(episode['file'])
                info = {'title': title, 'overlay': xbmcgui.ICON_OVERLAY_WATCHED, 'playCount': 0}

                item = xbmcgui.ListItem(title, thumbnailImage=image)
                item.setInfo(type='Video', infoLabels=info)
                item.setProperty('IsPlayable', 'true')
                xbmcplugin.addDirectoryItem(self.handle, uri, item, False)

        xbmc.executebuiltin('Container.SetViewMode(51)')
        xbmcplugin.endOfDirectory(self.handle, True)
Exemplo n.º 2
0
    def getFilmInfo(self, url):
        print "*** getFilmInfo rot URL %s" % url

        response = common.fetchPage({"link": url})
        entry = common.parseDOM(response["content"], 'div', attrs={'class': 'entry'})

        flash_player = common.parseDOM(entry, "object")
        image = common.parseDOM(entry, 'img', attrs={'class': 'm_pic'}, ret='src')[0]

        uhash = common.parseDOM(flash_player, "param", attrs={"name": "flashvars"}, ret="pl")[0].split('&')[0]
        uhash = uhash.replace('"', '')

        # 1) get encoded URL from playlist/file HASH
        uppod_url = uppod.decodeSourceURL(uhash)

        # 2) get source HASH from encoded URL => getDecodedHashFromSourceURL(url, referer)
        uppod_hash = uppod.getDecodedHashFromSourceURL(uppod_url, 'http://serialu.net/media/stil-nov/uppod.swf')

        # http://serialu.net/una1.php?s=I.Hear.Your.Voice&md5=5de21a077941aaafd46e803be2a0de89&rand=0.16188193298876286

        # 3) get playlist/file from encoded HASH
        json_playlist = json.loads(uppod.decode(uppod_hash).encode('latin1').decode('utf-8'))
        playlist = json_playlist['playlist']

        if 'playlist' in playlist[0]:
            print "*** This is a playlist with several seasons"

            for season in playlist:
                episods = season['playlist']

                for episode in episods:
                    title = episode['comment']
                    uri = sys.argv[0] + '?mode=play&url=%s' % uppod.decode(episode['file'])
                    info = {'title': title, 'overlay': xbmcgui.ICON_OVERLAY_WATCHED, 'playCount': 0}

                    item = xbmcgui.ListItem(title, thumbnailImage=image)
                    item.setInfo(type='Video', infoLabels=info)
                    item.setProperty('IsPlayable', 'true')
                    xbmcplugin.addDirectoryItem(self.handle, uri, item, False)
        else:
            print "*** This is a playlist with one season"

            for episode in playlist:
                title = episode['comment']
                uri = sys.argv[0] + '?mode=play&url=%s' % uppod.decode(episode['file'])
                info = {'title': title, 'overlay': xbmcgui.ICON_OVERLAY_WATCHED, 'playCount': 0}

                item = xbmcgui.ListItem(title, thumbnailImage=image)
                item.setInfo(type='Video', infoLabels=info)
                item.setProperty('IsPlayable', 'true')
                xbmcplugin.addDirectoryItem(self.handle, uri, item, False)

        xbmc.executebuiltin('Container.SetViewMode(51)')
        xbmcplugin.endOfDirectory(self.handle, True)
Exemplo n.º 3
0
    def getFilmInfo(self, url):
        print "*** getFilmInfo %s" % url

        response = common.fetchPage({"link": url})

        content = common.parseDOM(response["content"],
                                  "div",
                                  attrs={"id": "dle-content"})
        post = common.parseDOM(content, "div", attrs={"class": "post"})

        post_content = common.parseDOM(content,
                                       "div",
                                       attrs={"class": "post_content"})

        title = self.encode(common.parseDOM(post, "h1")[0])
        image = common.parseDOM(post_content, "img", ret="src")[0]

        videos = common.parseDOM(post, "div", attrs={"class": "video"})
        players = common.parseDOM(videos, "object")

        for i, player in enumerate(players):
            uhash = common.parseDOM(player,
                                    "param",
                                    attrs={"name": "flashvars"},
                                    ret="file")[0].split('&')[0]

            # get encoded URL from playlist/file HASH
            uppod_url = uppod.decodeSourceURL(uhash)
            image = image if 'http' in image else self.url + image

            uri = sys.argv[0] + '?mode=play&url=%s' % uppod_url
            info = {
                'title': title,
                'overlay': xbmcgui.ICON_OVERLAY_WATCHED,
                'playCount': 0
            }

            if len(players) > 1:
                item = xbmcgui.ListItem("%s (source %i)" % (title, i + 1),
                                        thumbnailImage=image)
            else:
                item = xbmcgui.ListItem("%s" % title, thumbnailImage=image)

            item.setInfo(type='Video', infoLabels=info)
            item.setProperty('IsPlayable', 'true')
            xbmcplugin.addDirectoryItem(self.handle, uri, item, False)

        xbmc.executebuiltin('Container.SetViewMode(52)')
        xbmcplugin.endOfDirectory(self.handle, True)
Exemplo n.º 4
0
    def getFilmInfo(self, url):
        print "*** getFilmInfo %s" % url

        response = common.fetchPage({"link": url})

        content = common.parseDOM(response["content"], "div", attrs={"id": "dle-content"})
        post = common.parseDOM(content, "div", attrs={"class": "post"})

        post_content = common.parseDOM(content, "div", attrs={"class": "post_content"})

        title = self.encode(common.parseDOM(post, "h1")[0])
        image = common.parseDOM(post_content, "img", ret="src")[0]

        videos = common.parseDOM(post, "div", attrs={"class": "video"})
        players = common.parseDOM(videos, "object")

        for i, player in enumerate(players):
            uhash = common.parseDOM(player, "param", attrs={"name": "flashvars"}, ret="file")[0].split('&')[0]

            # get encoded URL from playlist/file HASH
            uppod_url = uppod.decodeSourceURL(uhash)
            image = image if 'http' in image else self.url+image

            uri = sys.argv[0] + '?mode=play&url=%s' % uppod_url
            info = {'title': title, 'overlay': xbmcgui.ICON_OVERLAY_WATCHED, 'playCount': 0}

            if len(players) > 1:
                item = xbmcgui.ListItem("%s (source %i)" % (title, i+1), thumbnailImage=image)
            else:
                 item = xbmcgui.ListItem("%s" % title, thumbnailImage=image)

            item.setInfo(type='Video', infoLabels=info)
            item.setProperty('IsPlayable', 'true')
            xbmcplugin.addDirectoryItem(self.handle, uri, item, False)

        xbmc.executebuiltin('Container.SetViewMode(52)')
        xbmcplugin.endOfDirectory(self.handle, True)