Exemple #1
0
    def SearchBA_old(self):
        url = 'https://www.googleapis.com/youtube/v3/search?part=id,snippet&q=%s&maxResults=1&relevanceLanguage=fr&key=%s' % (
            self.search, self.key)
        oRequestHandler = cRequestHandler(url)
        sHtmlContent = oRequestHandler.request(jsonDecode=True)

        try:
            ids = result['items'][0]['id']['videoId']

            url = 'http://www.youtube.com/watch?v=%s' % ids
            hote = cHoster()
            hote.setUrl(url)
            api_call = hote.getMediaLink()[1]
            if not api_call:
                return

            oGuiElement = cGuiElement()
            oGuiElement.setSiteName(SITE_IDENTIFIER)
            oGuiElement.setTitle(self.search.replace('+', ' '))
            oGuiElement.setMediaUrl(api_call)
            oGuiElement.setThumbnail(oGuiElement.getIcon())

            oPlayer = cPlayer()
            oPlayer.clearPlayList()
            oPlayer.addItemToPlaylist(oGuiElement)
            oPlayer.startPlayer()

        except:
            dialog().VSinfo(addon().VSlang(30204))
            return
        return
Exemple #2
0
    def SearchBA(self):
        self.url = 'https://www.youtube.com/results?q=' + self.search + '&sp=EgIYAQ%253D%253D'

        oRequestHandler = cRequestHandler(self.url)
        sHtmlContent = oRequestHandler.request()

        list = re.findall('"url":"\/watch\?v=([^"]+)"', sHtmlContent)

        if list:
            url = 'http://www.youtube.com/watch?v=' + list[0]
            exec 'from resources.hosters.youtube import cHoster'
            hote = cHoster()
            hote.setUrl(url)
            api_call = hote.getMediaLink()[1]
            if not api_call:
                return

            oGuiElement = cGuiElement()
            oGuiElement.setSiteName(SITE_IDENTIFIER)
            oGuiElement.setTitle(self.search.replace('+', ' '))
            oGuiElement.setMediaUrl(api_call)
            oGuiElement.setThumbnail(oGuiElement.getIcon())

            oPlayer = cPlayer()
            oPlayer.clearPlayList()
            oPlayer.addItemToPlaylist(oGuiElement)
            oPlayer.startPlayer()

        return
Exemple #3
0
    def __init__(self):

        message = "Add-on: TvWatch2\n"
        message += "Repo: http://tvwatch2.000webhostapp.com/\n"
        message += "\n"
        message += "Afficher la procédure d'installation ?\n"

        if dialog().VSyesno(
                message, "Une nouvelle version de Tvwatch est disponible !"):

            url = 'https://www.youtube.com/watch?v=614nwd3J_x0'
            from resources.hosters.youtube import cHoster
            hote = cHoster()
            hote.setUrl(url)
            api_call = hote.getMediaLink()[1]
            if not api_call:
                return

            oGuiElement = cGuiElement()
            oGuiElement.setSiteName('youtube')
            oGuiElement.setTitle("Procédure d'installation TvWatch2")
            oGuiElement.setMediaUrl(api_call)
            oGuiElement.setThumbnail(oGuiElement.getIcon())

            oPlayer = cPlayer()
            oPlayer.clearPlayList()
            oPlayer.addItemToPlaylist(oGuiElement)
            oPlayer.startPlayer()

        return
Exemple #4
0
    def SearchBA_old(self):
        self.url = 'https://www.youtube.com/results?q=' + self.search + '&sp=EgIYAQ%253D%253D'

        oRequestHandler = cRequestHandler(self.url)
        sHtmlContent = oRequestHandler.request()

        list = re.findall('<a href="\/watch\?v=([^"<>]+)" class=',sHtmlContent)

        if list:
            url = 'http://www.youtube.com/watch?v=' + list[0]
            exec "from resources.hosters.youtube import cHoster"
            hote = cHoster()
            hote.setUrl(url)
            api_call = hote.getMediaLink()[1]
            if not api_call:
                return

            oGuiElement = cGuiElement()
            oGuiElement.setSiteName(SITE_IDENTIFIER)
            oGuiElement.setTitle(self.search.replace('+',' '))
            oGuiElement.setMediaUrl(api_call)
            oGuiElement.setThumbnail(oGuiElement.getIcon())

            oPlayer = cPlayer()
            oPlayer.clearPlayList()
            oPlayer.addItemToPlaylist(oGuiElement)
            oPlayer.startPlayer()

        return
Exemple #5
0
    def SearchBA(self, window=False):

        sTitle = self.search + ' - Bande Annonce'

        # Le lien sur la BA est déjà connu
        urlTrailer = self.sTrailerUrl

        # Sinon recherche de la BA officielle dans TMDB
        if not urlTrailer:
            meta = cTMDb().get_meta(self.metaType, self.search, year=self.year)
            if 'trailer' in meta and meta['trailer']:
                self.SetTrailerUrl(meta['trailer'])
                urlTrailer = self.sTrailerUrl

        # Sinon recherche dans youtube
        if not urlTrailer:
            urlTrailer2 = 'https://www.youtube.com/results?q=' + QuotePlus(
                sTitle) + '&sp=EgIYAQ%253D%253D'

            oRequestHandler = cRequestHandler(urlTrailer2)
            sHtmlContent = oRequestHandler.request()

            listResult = re.findall('"url":"\/watch\?v=([^"]+)"', sHtmlContent)
            if listResult:
                # Premiere video trouvée
                urlTrailer = 'http://www.youtube.com/watch?v=' + listResult[0]

        # BA trouvée
        if urlTrailer:
            hote = cHoster()
            hote.setUrl(urlTrailer)
            hote.setResolution('720p')
            api_call = hote.getMediaLink()[1]
            if not api_call:
                return

            oGuiElement = cGuiElement()
            oGuiElement.setSiteName(SITE_IDENTIFIER)
            oGuiElement.setTitle(sTitle)
            oGuiElement.setMediaUrl(api_call)
            oGuiElement.setThumbnail(oGuiElement.getIcon())

            oPlayer = cPlayer()
            oPlayer.clearPlayList()
            oPlayer.addItemToPlaylist(oGuiElement)
            oPlayer.startPlayer(window)

        return
Exemple #6
0
    def SearchBA_old(self):

        url = 'https://www.googleapis.com/youtube/v3/search?part=id,snippet&q=%s&maxResults=1&relevanceLanguage=fr&key=%s' % (
            self.search, self.key)

        req = urllib2.Request(url)

        try:
            gcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
            response = urllib2.urlopen(req, context=gcontext)
        except:
            response = urllib2.urlopen(req)
        sHtmlContent = response.read()
        result = json.loads(sHtmlContent)
        response.close()

        try:
            ids = result['items'][0]['id']['videoId']

            url = 'http://www.youtube.com/watch?v=%s' % ids
            from resources.hosters.youtube import cHoster
            hote = cHoster()
            hote.setUrl(url)
            api_call = hote.getMediaLink()[1]
            if not api_call:
                return

            oGuiElement = cGuiElement()
            oGuiElement.setSiteName(SITE_IDENTIFIER)
            oGuiElement.setTitle(self.search.replace('+', ' '))
            oGuiElement.setMediaUrl(api_call)
            oGuiElement.setThumbnail(oGuiElement.getIcon())

            oPlayer = cPlayer()
            oPlayer.clearPlayList()
            oPlayer.addItemToPlaylist(oGuiElement)
            oPlayer.startPlayer()

        except:
            dialog().VSinfo(addon().VSlang(30204))
            return
        return
Exemple #7
0
    def SearchBA(self):

            url = "https://www.googleapis.com/youtube/v3/search?part=id,snippet&q=%s&maxResults=1&relevanceLanguage=fr&key=%s" % (self.search, self.key)

            req = urllib2.Request(url)
            try:
                gcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
                response = urllib2.urlopen(req,context=gcontext)
            except:
                response = urllib2.urlopen(req)
            sHtmlContent = response.read()
            result = json.loads(sHtmlContent)
            response.close()

            try:
                ids = result['items'][0]['id']['videoId']

                url = 'http://www.youtube.com/watch?v=%s' % ids
                from resources.hosters.youtube import cHoster
                hote = cHoster()
                hote.setUrl(url)
                api_call = hote.getMediaLink()[1]
                if not api_call:
                    return

                oGuiElement = cGuiElement()
                oGuiElement.setSiteName(SITE_IDENTIFIER)
                oGuiElement.setTitle(self.search.replace('+',' '))
                oGuiElement.setMediaUrl(api_call)
                oGuiElement.setThumbnail(oGuiElement.getIcon())

                oPlayer = cPlayer()
                oPlayer.clearPlayList()
                oPlayer.addItemToPlaylist(oGuiElement)
                oPlayer.startPlayer()

            except:
                dialog().VSinfo(addon().VSlang(30204))
                return
            return
Exemple #8
0
    def SearchBA(self):

        url = "https://www.googleapis.com/youtube/v3/search?part=id,snippet&q=%s&maxResults=1&relevanceLanguage=fr&key=%s" % (
            self.search, self.key)

        req = urllib2.Request(url)
        response = urllib2.urlopen(req)
        sHtmlContent = response.read()
        result = json.loads(sHtmlContent)
        response.close()

        try:
            ids = result['items'][0]['id']['videoId']

            url = 'http://www.youtube.com/watch?v=%s' % ids
            from resources.hosters.youtube import cHoster
            hote = cHoster()
            hote.setUrl(url)
            api_call = hote.getMediaLink()[1]
            if not api_call:
                return

            oGuiElement = cGuiElement()
            oGuiElement.setSiteName(SITE_IDENTIFIER)
            oGuiElement.setTitle(self.search.replace('+', ' '))
            oGuiElement.setMediaUrl(api_call)
            oGuiElement.setThumbnail(oGuiElement.getIcon())

            oPlayer = cPlayer()
            oPlayer.clearPlayList()
            oPlayer.addItemToPlaylist(oGuiElement)
            oPlayer.startPlayer()

        except Exception, e:
            util.VSshowInfo('TvWatch', util.VSlang(30204))
            util.VSlog("SearchBA ERROR " + e.message)
            return
Exemple #9
0
    def SearchBA(self, window=False):

        sTitle = self.search + ' - Bande Annonce'

        # Le lien sur la BA est déjà connu
        urlTrailer = self.sTrailerUrl

        # Sinon recherche de la BA officielle dans TMDB
        if not urlTrailer:
            meta = cTMDb().get_meta(self.metaType, self.search, year=self.year)
            if 'trailer' in meta and meta['trailer']:
                self.SetTrailerUrl(meta['trailer'])
                urlTrailer = self.sTrailerUrl

        # Sinon recherche dans youtube
        if not urlTrailer:
            headers = {
                'User-Agent':
                'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'
            }

            url = 'https://www.youtube.com/results'

            sHtmlContent = requests.get(
                url,
                params={
                    'search_query': sTitle
                },
                cookies={
                    'CONSENT': GestionCookie().Readcookie("youtube")
                },
                headers=headers).text

            try:
                result = re.search(
                    '"contents":\[{"videoRenderer":{"videoId":"([^"]+)',
                    str(sHtmlContent)).group(1)
            except:
                result = re.search(
                    '"contents":\[{"videoRenderer":{"videoId":"([^"]+)',
                    sHtmlContent.encode('utf-8')).group(1)

            if result:
                # Premiere video trouvée
                urlTrailer = 'https://www.youtube.com/watch?v=' + result

        # BA trouvée
        if urlTrailer:
            hote = cHoster()
            hote.setUrl(urlTrailer)
            hote.setResolution('720p')
            api_call = hote.getMediaLink()[1]

            if not api_call:
                return

            oGuiElement = cGuiElement()
            oGuiElement.setSiteName(SITE_IDENTIFIER)
            oGuiElement.setTitle(sTitle)
            oGuiElement.setMediaUrl(api_call)
            oGuiElement.setThumbnail(oGuiElement.getIcon())

            oPlayer = cPlayer()
            oPlayer.clearPlayList()
            oPlayer.addItemToPlaylist(oGuiElement)
            oPlayer.startPlayer(window)

        return
Exemple #10
0
    def SearchBA(self, window=False):

        sTitle = self.search + ' - Bande Annonce'

        # Le lien sur la BA est déjà connu
        urlTrailer = self.sTrailerUrl

        # Sinon recherche de la BA officielle dans TMDB
        if not urlTrailer:
            meta = cTMDb().get_meta(self.metaType, self.search, year=self.year)
            if 'trailer' in meta and meta['trailer']:
                self.SetTrailerUrl(meta['trailer'])
                urlTrailer = self.sTrailerUrl

        # Sinon recherche dans youtube
        if not urlTrailer:
            headers = {
                'User-Agent':
                'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'
            }

            url = 'https://www.youtube.com/results'

            sHtmlContent = requests.get(
                url,
                params={
                    'search_query': sTitle
                },
                cookies={
                    'CONSENT': GestionCookie().Readcookie("youtube")
                },
                headers=headers).text

            if "Proposer des services et s'assurer" in sHtmlContent:
                data = re.search('<form action=(.+?)Accepter',
                                 sHtmlContent).group(1)
                post_data = re.findall(
                    '<input type="hidden" name="(.+?)" value="(.+?)"', data)
                d = {}
                for data in post_data:
                    d.update({data[0]: data[1]})
                cook = requests.post("https://consent.youtube.com/s",
                                     params=d,
                                     headers=headers,
                                     allow_redirects=False).cookies

                GestionCookie().SaveCookie('youtube',
                                           str(dict(cook)["CONSENT"]))

                sHtmlContent = requests.get(url,
                                            params={
                                                'search_query': sTitle
                                            },
                                            cookies={
                                                'CONSENT':
                                                str(dict(cook)["CONSENT"])
                                            },
                                            headers=headers).text

            try:
                result = re.search(
                    '"contents":\[{"videoRenderer":{"videoId":"([^"]+)',
                    str(sHtmlContent)).group(1)
            except:
                result = re.search(
                    '"contents":\[{"videoRenderer":{"videoId":"([^"]+)',
                    sHtmlContent.encode('utf-8')).group(1)

            if result:
                # Premiere video trouvée
                urlTrailer = 'https://www.youtube.com/watch?v=' + result

        # BA trouvée
        if urlTrailer:
            hote = cHoster()
            hote.setUrl(urlTrailer)
            hote.setResolution('720p')
            api_call = hote.getMediaLink()[1]

            if not api_call:
                return

            oGuiElement = cGuiElement()
            oGuiElement.setSiteName(SITE_IDENTIFIER)
            oGuiElement.setTitle(sTitle)
            oGuiElement.setMediaUrl(api_call)
            oGuiElement.setThumbnail(oGuiElement.getIcon())

            oPlayer = cPlayer()
            oPlayer.clearPlayList()
            oPlayer.addItemToPlaylist(oGuiElement)
            oPlayer.startPlayer(window)

        return