Ejemplo n.º 1
0
    def execute(self, item):
        #print >>stderr, "[liberateca] go go go!!"

        p = get_liberateca_provider()
        l = liberateca(p.user, p.password)
        try:
            links = l.getSerieEp(p.serie, p.temporada, self.id)['links']
        except Exception as e:
            return defer.fail(e)
        okLink = None
        x = linkExtractor()
        for link in links:
            try:
                print >> stderr, "[liberateca] comprobando link [%s]" % link[
                    'url']
                lnk = x.getLink(link['url'])
                print >> stderr, "[liberateca] hay link [ %s ]" % lnk
                okLink = lnk
                break

            except:
                pass

        if not okLink:
            print >> stderr, "[liberateca] no hubo suerte :/"
            return defer.fail(
                Exception("No se han encontrado servidores soportados"))

        video = LiberatecaVideoModel(self.name, okLink)
        return play_this(video, self.controller.frontend)
Ejemplo n.º 2
0
    def execute(self, item):
        pro = get_liberateca_provider()
        pro.serie = self.id

        browser = self.controller.frontend.retrieve_controllers(
            '/poblesec/browser')[0]
        path = '/poblesec/liberateca/temporadas'
        title = self.name
        dfr = browser.history.append_controller(path, title)
        return dfr
Ejemplo n.º 3
0
    def populate_model(self):
        p = get_liberateca_provider()
        if p.user == None:
            return defer.fail('No se han introducido los datos')

        l = liberateca(p.user, p.password)

        model = []
        try:
            list = l.getSerieList()
        except Exception as e:
            return defer.fail('Error descargando lista de series [%s]' %
                              str(e))

        # Ordena la lista alfabéticamente
        slist = orderSerieList(list)

        for i in slist:
            action = serieButton(self, i['name'], i['id'])
            action.connect('name-changed', self._action_name_changed_cb)
            model.append(action)
        return defer.succeed(model)
Ejemplo n.º 4
0
    def populate_model(self):
        p = get_liberateca_provider()
        if p.user == None:
            return defer.fail('No se han introducido los datos')

        l = liberateca(p.user, p.password)

        model = []
        try:
            list = l.getSerieT(p.serie, p.temporada)
        except Exception as e:
            return defer.fail('Error descargando lista de episodios [%s]' %
                              str(e))

        slist = orderCapList(list)

        for i in slist:
            num = i['episode']
            action = chapterButton(self, i['title'], i['episode'])
            action.connect('name-changed', self._action_name_changed_cb)
            model.append(action)
        return defer.succeed(model)
Ejemplo n.º 5
0
    def populate_model(self):
        p = get_liberateca_provider()
        if p.user == None:
            return defer.fail('No se han introducido los datos')

        l = liberateca(p.user, p.password)

        model = []
        try:
            list = l.getSerieT(p.serie)
        except Exception as e:
            return defer.fail('Error descargando lista de temporadas [%s]' %
                              str(e))

        for i in list:
            num = i['url'].split("/")[-2]
            action = seasonButton(self, 'Temporada ' + num, num)
            action.connect('name-changed', self._action_name_changed_cb)
            model.append(action)

        self.refresing = False
        return defer.succeed(model)
Ejemplo n.º 6
0
    def get_playable_model(self):
        """
        Return a deferred that will return an instance of
        L{elisa.plugins.base.models.media.PlayableModel} for the video.

        @rtype:  L{elisa.core.utils.defer.Deferred}
        """
        def got_playable(model):
            dfr = defer.succeed(model)
            return dfr
        
        model = None
        if self.playable_model:
            model = self.playable_model
            dfr = defer.succeed(self.playable_model)
        else:
            muri = self.playable_uri
            pro = get_liberateca_provider()
            model, dfr = \
                pro.get(muri, self, self.title, self.plain_uri)
            
        dfr.addCallback(got_playable)
        dfr.addErrback(lambda failure: stderr.write("[liberateca] >:/ %s" % failure))
        return dfr