Exemple #1
0
    def __realizar_accion(self, widget):
        """
        Ejecuta una accion sobre un archivo o streaming
        en la lista de reprucción cuando el usuario confirma.
        """

        from Globales import get_my_files_directory

        from Globales import describe_acceso_uri
        from Globales import copiar
        from Globales import borrar
        from Globales import mover

        uri = self.lista.get_model().get_value(self.iter, 2)

        if describe_acceso_uri(uri):
            if self.accion == "Quitar":
                self.lista.get_model().remove(self.iter)

            elif self.accion == "Copiar":
                if os.path.isfile(uri):
                    copiar(uri, get_my_files_directory())

            elif self.accion == "Borrar":
                if os.path.isfile(uri):
                    if borrar(uri):
                        self.lista.get_model().remove(self.iter)

            elif self.accion == "Mover":
                if os.path.isfile(uri):
                    if mover(uri, get_my_files_directory()):
                        self.lista.get_model().remove(self.iter)
        else:
            if self.accion == "Quitar":
                self.lista.get_model().remove(self.iter)

            elif self.accion == "Borrar":
                self.emit("accion-stream", "Borrar", uri)
                self.lista.get_model().remove(self.iter)

            elif self.accion == "Copiar":
                self.emit("accion-stream", "Copiar", uri)

            elif self.accion == "Mover":
                self.emit("accion-stream", "Mover", uri)
                self.lista.get_model().remove(self.iter)

            elif self.accion == "Grabar":
                self.emit("Grabar", uri)

        self.label.set_text("")
        self.lista = None
        self.accion = None
        self.iter = None
        self.hide()
Exemple #2
0
    def __realizar_accion(self, widget):
        """
        Ejecuta una accion sobre un archivo o streaming
        en la lista de reprucción cuando el usuario confirma.
        """

        from Globales import get_my_files_directory

        from Globales import describe_acceso_uri
        from Globales import copiar
        from Globales import borrar
        from Globales import mover

        uri = self.lista.get_model().get_value(self.iter, 2)

        if describe_acceso_uri(uri):
            if self.accion == "Quitar":
                self.lista.get_model().remove(self.iter)

            elif self.accion == "Copiar":
                if os.path.isfile(uri):
                    copiar(uri, get_my_files_directory())

            elif self.accion == "Borrar":
                if os.path.isfile(uri):
                    if borrar(uri):
                        self.lista.get_model().remove(self.iter)

            elif self.accion == "Mover":
                if os.path.isfile(uri):
                    if mover(uri, get_my_files_directory()):
                        self.lista.get_model().remove(self.iter)
        else:
            if self.accion == "Quitar":
                self.lista.get_model().remove(self.iter)

            elif self.accion == "Borrar":
                self.emit("accion-stream", "Borrar", uri)
                self.lista.get_model().remove(self.iter)

            elif self.accion == "Copiar":
                self.emit("accion-stream", "Copiar", uri)

            elif self.accion == "Mover":
                self.emit("accion-stream", "Mover", uri)
                self.lista.get_model().remove(self.iter)

            elif self.accion == "Grabar":
                self.emit("Grabar", uri)

        self.label.set_text("")
        self.lista = None
        self.accion = None
        self.iter = None
        self.hide()
Exemple #3
0
    def __grabar(self, widget, uri):
        self.set_sensitive(False)
        self.__detener_grabacion()

        tipo = "video"
        label = self.base_panel.derecha.lista.toolbar.label.get_text()
        if label == "JAM-TV" or label == "TVs" or label == "WebCams":
            tipo = "video"
        else:
            tipo = "audio"

        hora = time.strftime("%H-%M-%S")
        fecha = str(datetime.date.today())
        archivo = "%s-%s" % (fecha, hora)
        archivo = os.path.join(get_my_files_directory(), archivo)

        self.grabador = JAMediaGrabador(uri, archivo, tipo)

        self.grabador.connect('update', self.__update_grabador)
        self.grabador.connect('endfile', self.__detener_grabacion)

        self.grabador.start()
        self.grabador.play()
        #_thread = threading.Thread(target=self.grabador.play)
        #_thread.start()

        self.set_sensitive(True)
Exemple #4
0
    def play(self, name):

        import time
        import datetime

        hora = time.strftime("%H-%M-%S")
        fecha = str(datetime.date.today())

        from Globales import get_my_files_directory

        archivo = "%s-%s-%s.%s" % (
            name.replace(" ", "_"),
            fecha, hora, self.formato)
        self.patharchivo = os.path.join(
            get_my_files_directory(), archivo)

        self.archivo.set_property(
            "location", self.patharchivo)

        if not self.estado == gst.STATE_PLAYING:
            self.estado = gst.STATE_PLAYING
            self.emit("estado", "playing")
            self.pipeline.set_state(gst.STATE_PLAYING)

        self.__new_handle(True)
    def __grabar(self, widget, uri):
        self.set_sensitive(False)
        self.__detener_grabacion()

        tipo = "video"
        label = self.base_panel.derecha.lista.toolbar.label.get_text()
        if label == "JAM-TV" or label == "TVs" or label == "WebCams":
            tipo = "video"
        else:
            tipo = "audio"

        hora = time.strftime("%H-%M-%S")
        fecha = str(datetime.date.today())
        archivo = "%s-%s" % (fecha, hora)
        archivo = os.path.join(get_my_files_directory(), archivo)

        self.grabador = JAMediaGrabador(uri, archivo, tipo)

        self.grabador.connect('update', self.__update_grabador)
        self.grabador.connect('endfile', self.__detener_grabacion)

        _thread = threading.Thread(target=self.grabador.play)
        _thread.start()

        self.set_sensitive(True)
Exemple #6
0
 def __realizar_accion(self, widget):
     """
     Ejecuta una accion sobre un archivo o streaming en la lista.
     """
     uri = self.lista.get_model().get_value(self.iter, 2)
     if self.accion == "Quitar":
         path = self.lista.get_model().get_path(self.iter)
         path = (path[0] - 1, )
         self.lista.get_model().remove(self.iter)
         self.__reselect(path)
     else:
         if describe_acceso_uri(uri):
             if self.accion == "Copiar":
                 if os.path.isfile(uri):
                     copiar(uri, get_my_files_directory())
             elif self.accion == "Borrar":
                 if os.path.isfile(uri):
                     if borrar(uri):
                         path = self.lista.get_model().get_path(self.iter)
                         path = (path[0] - 1, )
                         self.lista.get_model().remove(self.iter)
                         self.__reselect(path)
             elif self.accion == "Mover":
                 if os.path.isfile(uri):
                     if mover(uri, get_my_files_directory()):
                         path = self.lista.get_model().get_path(self.iter)
                         path = (path[0] - 1, )
                         self.lista.get_model().remove(self.iter)
                         self.__reselect(path)
         else:
             if self.accion == "Borrar":
                 self.emit("accion-stream", "Borrar", uri)
                 path = self.lista.get_model().get_path(self.iter)
                 path = (path[0] - 1, )
                 self.lista.get_model().remove(self.iter)
                 self.__reselect(path)
             elif self.accion == "Copiar":
                 self.emit("accion-stream", "Copiar", uri)
             elif self.accion == "Mover":
                 self.emit("accion-stream", "Mover", uri)
                 path = self.lista.get_model().get_path(self.iter)
                 path = (path[0] - 1, )
                 self.lista.get_model().remove(self.iter)
                 self.__reselect(path)
             elif self.accion == "Grabar":
                 self.emit("grabar", uri)
     self.cancelar()
Exemple #7
0
    def cargar_lista(self, widget, indice):
        _dict = {
            0: os.path.join(get_data_directory(), 'JAMediaRadio.JAMedia'),
            1: os.path.join(get_data_directory(), 'JAMediaTV.JAMedia'),
            2: os.path.join(get_data_directory(), 'MisRadios.JAMedia'),
            3: os.path.join(get_data_directory(), 'MisTvs.JAMedia'),
            4: os.path.join(get_data_directory(), 'JAMediaWebCams.JAMedia'),
            5: get_my_files_directory(),
            6: get_tube_directory(),
            7: get_audio_directory(),
            8: get_video_directory(),
        }

        ocultar(self.toolbar.boton_agregar)
        if indice == 0:
            self.__seleccionar_lista_de_stream(_dict[0], "JAM-Radio")

        elif indice == 1:
            self.__seleccionar_lista_de_stream(_dict[1], "JAM-TV")

        elif indice == 2:
            self.__seleccionar_lista_de_stream(_dict[2], "Radios")
            mostrar(self.toolbar.boton_agregar)

        elif indice == 3:
            self.__seleccionar_lista_de_stream(_dict[3], "TVs")
            mostrar(self.toolbar.boton_agregar)

        elif indice == 4:
            self.__seleccionar_lista_de_stream(_dict[4], "WebCams")

        elif indice == 5:
            self.__seleccionar_lista_de_archivos(_dict[indice], "Archivos")

        elif indice == 6:
            self.__seleccionar_lista_de_archivos(_dict[indice], "JAM-Tube")

        elif indice == 7:
            self.__seleccionar_lista_de_archivos(_dict[indice], "JAM-Audio")

        elif indice == 8:
            self.__seleccionar_lista_de_archivos(_dict[indice], "JAM-Video")

        elif indice == 9:
            selector = My_FileChooser(parent=self.get_toplevel(),
                                      filter_type=[],
                                      action=gtk.FILE_CHOOSER_ACTION_OPEN,
                                      mime=self.mime,
                                      title="Abrir Archivos",
                                      path=self.directorio)

            selector.connect('load-files', self.__load_files, "Archivos")
            selector.run()

            if selector:
                selector.destroy()
    def __init__(self, widget, boton, pos, tiempo, path, modelo):

        gtk.Menu.__init__(self)

        _iter = modelo.get_iter(path)
        uri = modelo.get_value(_iter, 2)

        quitar = gtk.MenuItem("Quitar de la Lista")
        self.append(quitar)
        quitar.connect_object("activate", self.__set_accion,
            widget, path, "Quitar")

        my_files_directory = get_my_files_directory()

        permisos = describe_acceso_uri(uri)
        if permisos:
            lectura, escritura, ejecucion = permisos

            if lectura and os.path.dirname(uri) != my_files_directory:
                copiar = gtk.MenuItem("Copiar a JAMedia")
                self.append(copiar)
                copiar.connect_object("activate", self.__set_accion,
                    widget, path, "Copiar")

            if escritura and os.path.dirname(uri) != my_files_directory:
                mover = gtk.MenuItem("Mover a JAMedia")
                self.append(mover)
                mover.connect_object("activate", self.__set_accion,
                    widget, path, "Mover")

            if escritura:
                borrar = gtk.MenuItem("Borrar el Archivo")
                self.append(borrar)
                borrar.connect_object("activate", self.__set_accion,
                    widget, path, "Borrar")

            #tipo = describe_archivo(uri)
            #if "audio" in tipo or "video" in tipo or \
            #    "application/ogg" in tipo or \
            #    'application/octet-stream' in tipo:
            #    editar = gtk.MenuItem("Editar o Convertir Archivo")
            #    self.append(editar)
            #    editar.connect_object("activate", self.__set_accion,
            #        widget, path, "Editar")

        self.show_all()
        self.attach_to_widget(widget, self.__null)
Exemple #9
0
    def __grabar_streaming(self, widget, uri):
        """
        Se ha confirmado grabar desde un streaming en
        la toolbar_accion.
        """

        if not self.player:
            return

        self.get_toplevel().set_sensitive(False)

        self.__detener_grabacion()

        tipo = "video"
        if "TV" in self.toolbar_list.label.get_text() or \
            "Tv" in self.toolbar_list.label.get_text():
            tipo = "video"

        else:
            tipo = "audio"

        import time
        import datetime

        hora = time.strftime("%H-%M-%S")
        fecha = str(datetime.date.today())

        from Globales import get_my_files_directory

        archivo = "%s-%s" % (fecha, hora)
        archivo = os.path.join(get_my_files_directory(), archivo)

        if self.player == self.jamediareproductor:
            self.grabador = JAMediaGrabador(uri, archivo, tipo)

        elif self.player == self.mplayerreproductor:
            self.grabador = MplayerGrabador(uri, archivo, tipo)

        self.grabador.connect('update', self.__update_grabador)
        self.grabador.connect('endfile', self.__detener_grabacion)

        self.get_toplevel().set_sensitive(True)
 def cargar_lista(self, widget, indice):
     data = get_data_directory()
     _dict = {
         0: os.path.join(data, 'JAMediaRadio.JAMedia'),
         1: os.path.join(data, 'JAMediaTV.JAMedia'),
         2: os.path.join(data, 'MisRadios.JAMedia'),
         3: os.path.join(data, 'MisTvs.JAMedia'),
         4: os.path.join(data, 'JAMediaWebCams.JAMedia'),
         5: get_my_files_directory(),
         6: get_tube_directory(),
         7: get_audio_directory(),
         8: get_video_directory(),
         }
     ocultar(self.toolbar.boton_agregar)
     if indice == 0:
         self.__seleccionar_lista_de_stream(_dict[0], "JAM-Radio")
     elif indice == 1:
         self.__seleccionar_lista_de_stream(_dict[1], "JAM-TV")
     elif indice == 2:
         self.__seleccionar_lista_de_stream(_dict[2], "Radios")
         mostrar(self.toolbar.boton_agregar)
     elif indice == 3:
         self.__seleccionar_lista_de_stream(_dict[3], "TVs")
         mostrar(self.toolbar.boton_agregar)
     elif indice == 4:
         self.__seleccionar_lista_de_stream(_dict[4], "WebCams")
     elif indice == 5:
         self.__seleccionar_lista_de_archivos(_dict[indice], "Archivos")
     elif indice == 6:
         self.__seleccionar_lista_de_archivos(_dict[indice], "JAM-Tube")
     elif indice == 7:
         self.__seleccionar_lista_de_archivos(_dict[indice], "JAM-Audio")
     elif indice == 8:
         self.__seleccionar_lista_de_archivos(_dict[indice], "JAM-Video")
     elif indice == 9:
         selector = My_FileChooser(parent=self.get_toplevel(),
             filter_type=[], action=gtk.FILE_CHOOSER_ACTION_OPEN,
             mime=self.mime, title="Abrir Archivos", path=self.directorio)
         selector.connect('load-files', self.__load_files, "Archivos")
         selector.run()
         if selector:
             selector.destroy()
    def __grabar_streaming(self, widget, uri):
        """
        Se ha confirmado grabar desde un streaming en
        la toolbar_accion.
        """

        if not self.player:
            return

        self.get_toplevel().set_sensitive(False)

        self.__detener_grabacion()

        tipo = "video"
        if "TV" in self.toolbar_list.label.get_text() or \
            "Tv" in self.toolbar_list.label.get_text():
                tipo = "video"

        else:
            tipo = "audio"

        import time
        import datetime

        hora = time.strftime("%H-%M-%S")
        fecha = str(datetime.date.today())

        from Globales import get_my_files_directory

        archivo = "%s-%s" % (fecha, hora)
        archivo = os.path.join(get_my_files_directory(), archivo)

        if self.player == self.jamediareproductor:
            self.grabador = JAMediaGrabador(uri, archivo, tipo)

        elif self.player == self.mplayerreproductor:
            self.grabador = MplayerGrabador(uri, archivo, tipo)

        self.grabador.connect('update', self.__update_grabador)
        self.grabador.connect('endfile', self.__detener_grabacion)

        self.get_toplevel().set_sensitive(True)
Exemple #12
0
    def __grabar_streaming(self, widget, uri):
        """
        Se ha confirmado grabar desde un streaming en
        la toolbar_accion.
        """

        self.get_toplevel().set_sensitive(False)

        self.__detener_grabacion()

        tipo = "video"
        label = self.toolbar_list.label.get_text()
        if label == "JAM-TV" or \
            label == "TVs" or \
            label == "WebCams":
                tipo = "video"

        else:
            tipo = "audio"

        import time
        import datetime

        hora = time.strftime("%H-%M-%S")
        fecha = str(datetime.date.today())

        from Globales import get_my_files_directory

        archivo = "%s-%s" % (fecha, hora)
        archivo = os.path.join(get_my_files_directory(), archivo)

        self.grabador = JAMediaGrabador(uri, archivo, tipo)

        self.grabador.connect('update', self.__update_grabador)
        self.grabador.connect('endfile', self.__detener_grabacion)

        self.get_toplevel().set_sensitive(True)
Exemple #13
0
    def __init__(self, widget, boton, pos, tiempo, path, modelo):

        gtk.Menu.__init__(self)

        _iter = modelo.get_iter(path)
        uri = modelo.get_value(_iter, 2)

        quitar = gtk.MenuItem("Quitar de la Lista")
        self.append(quitar)
        quitar.connect_object("activate", self.__set_accion, widget, path,
                              "Quitar")

        my_files_directory = get_my_files_directory()

        if describe_acceso_uri(uri):
            tipo = describe_archivo(uri)
            lectura, escritura, ejecucion = describe_acceso_uri(uri)

            if lectura and os.path.dirname(uri) != my_files_directory:
                copiar = gtk.MenuItem("Copiar a JAMedia")
                self.append(copiar)
                copiar.connect_object("activate", self.__set_accion, widget,
                                      path, "Copiar")

            if escritura and os.path.dirname(uri) != my_files_directory:
                mover = gtk.MenuItem("Mover a JAMedia")
                self.append(mover)
                mover.connect_object("activate", self.__set_accion, widget,
                                     path, "Mover")

            if escritura:
                borrar = gtk.MenuItem("Borrar el Archivo")
                self.append(borrar)
                borrar.connect_object("activate", self.__set_accion, widget,
                                      path, "Borrar")

            if "audio" in tipo or "video" in tipo or "application/ogg" in tipo:
                editar = gtk.MenuItem("Editar o Convertir Archivo")
                self.append(editar)
                editar.connect_object("activate", self.__set_accion, widget,
                                      path, "Editar")

        #else:
        #    borrar = gtk.MenuItem("Borrar Streaming")
        #    self.append(borrar)
        #    borrar.connect_object("activate", self.__set_accion,
        #        widget, path, "Borrar")

        #    data_directory = get_data_directory()

        #    listas = [
        #        os.path.join(data_directory, "JAMediaTV.JAMedia"),
        #        os.path.join(data_directory, "JAMediaRadio.JAMedia"),
        #        os.path.join(data_directory, "MisRadios.JAMedia"),
        #        os.path.join(data_directory, "MisTvs.JAMedia")
        #        ]

        #    if (stream_en_archivo(uri, listas[0]) and \
        #        not stream_en_archivo(uri, listas[3])) or \
        #        (stream_en_archivo(uri, listas[1]) and \
        #        not stream_en_archivo(uri, listas[2])):

        #        copiar = gtk.MenuItem("Copiar a JAMedia")
        #        self.append(copiar)
        #        copiar.connect_object("activate", self.__set_accion,
        #            widget, path, "Copiar")

        #        mover = gtk.MenuItem("Mover a JAMedia")
        #        self.append(mover)
        #        mover.connect_object("activate", self.__set_accion,
        #            widget, path, "Mover")

        #    grabar = gtk.MenuItem("Grabar")
        #    self.append(grabar)
        #    grabar.connect_object("activate", self.__set_accion,
        #        widget, path, "Grabar")

        self.show_all()
        self.attach_to_widget(widget, self.__null)
Exemple #14
0
    def __init__(self, widget, boton, pos, tiempo, path, modelo):

        Gtk.Menu.__init__(self)

        iter = modelo.get_iter(path)
        uri = modelo.get_value(iter, 2)

        quitar = Gtk.MenuItem("Quitar de la Lista")
        self.append(quitar)
        quitar.connect_object("activate", self.__set_accion, widget, path,
                              "Quitar")

        from Globales import describe_acceso_uri
        from Globales import get_my_files_directory
        from Globales import get_data_directory
        from Globales import stream_en_archivo

        if describe_acceso_uri(uri):
            lectura, escritura, ejecucion = describe_acceso_uri(uri)

            if lectura and os.path.dirname(uri) != get_my_files_directory():
                copiar = Gtk.MenuItem("Copiar a JAMedia")
                self.append(copiar)
                copiar.connect_object("activate", self.__set_accion, widget,
                                      path, "Copiar")

            if escritura and os.path.dirname(uri) != get_my_files_directory():
                mover = Gtk.MenuItem("Mover a JAMedia")
                self.append(mover)
                mover.connect_object("activate", self.__set_accion, widget,
                                     path, "Mover")

            if escritura:
                borrar = Gtk.MenuItem("Borrar el Archivo")
                self.append(borrar)
                borrar.connect_object("activate", self.__set_accion, widget,
                                      path, "Borrar")

        else:
            borrar = Gtk.MenuItem("Borrar Streaming")
            self.append(borrar)
            borrar.connect_object("activate", self.__set_accion, widget, path,
                                  "Borrar")

            listas = [
                os.path.join(get_data_directory(), "JAMediaTV.JAMedia"),
                os.path.join(get_data_directory(), "JAMediaRadio.JAMedia"),
                os.path.join(get_data_directory(), "MisRadios.JAMedia"),
                os.path.join(get_data_directory(), "MisTvs.JAMedia")
            ]

            if (stream_en_archivo(uri, listas[0]) and \
                not stream_en_archivo(uri, listas[3])) or \
                (stream_en_archivo(uri, listas[1]) and \
                not stream_en_archivo(uri, listas[2])):

                copiar = Gtk.MenuItem("Copiar a JAMedia")
                self.append(copiar)
                copiar.connect_object("activate", self.__set_accion, widget,
                                      path, "Copiar")

                mover = Gtk.MenuItem("Mover a JAMedia")
                self.append(mover)
                mover.connect_object("activate", self.__set_accion, widget,
                                     path, "Mover")

            grabar = Gtk.MenuItem("Grabar")
            self.append(grabar)
            grabar.connect_object("activate", self.__set_accion, widget, path,
                                  "Grabar")

        self.show_all()
        self.attach_to_widget(widget, self.__null)
Exemple #15
0
    def __init__(self, widget, boton, pos, tiempo, path, modelo):

        gtk.Menu.__init__(self)

        _iter = modelo.get_iter(path)
        uri = modelo.get_value(_iter, 2)

        quitar = gtk.MenuItem("Quitar de la Lista")
        self.append(quitar)
        quitar.connect_object("activate", self.__set_accion,
            widget, path, "Quitar")

        my_files_directory = get_my_files_directory()

        if describe_acceso_uri(uri):
            tipo = describe_archivo(uri)
            lectura, escritura, ejecucion = describe_acceso_uri(uri)

            if lectura and os.path.dirname(uri) != my_files_directory:
                copiar = gtk.MenuItem("Copiar a JAMedia")
                self.append(copiar)
                copiar.connect_object("activate", self.__set_accion,
                    widget, path, "Copiar")

            if escritura and os.path.dirname(uri) != my_files_directory:
                mover = gtk.MenuItem("Mover a JAMedia")
                self.append(mover)
                mover.connect_object("activate", self.__set_accion,
                    widget, path, "Mover")

            if escritura:
                borrar = gtk.MenuItem("Borrar el Archivo")
                self.append(borrar)
                borrar.connect_object("activate", self.__set_accion,
                    widget, path, "Borrar")

            #if "audio" in tipo or "video" in tipo or "application/ogg" in tipo:
            #    editar = gtk.MenuItem("Editar o Convertir Archivo")
            #    self.append(editar)
            #    editar.connect_object("activate", self.__set_accion,
            #        widget, path, "Editar")

        #else:
        #    borrar = gtk.MenuItem("Borrar Streaming")
        #    self.append(borrar)
        #    borrar.connect_object("activate", self.__set_accion,
        #        widget, path, "Borrar")

        #    data_directory = get_data_directory()

        #    listas = [
        #        os.path.join(data_directory, "JAMediaTV.JAMedia"),
        #        os.path.join(data_directory, "JAMediaRadio.JAMedia"),
        #        os.path.join(data_directory, "MisRadios.JAMedia"),
        #        os.path.join(data_directory, "MisTvs.JAMedia")
        #        ]

        #    if (stream_en_archivo(uri, listas[0]) and \
        #        not stream_en_archivo(uri, listas[3])) or \
        #        (stream_en_archivo(uri, listas[1]) and \
        #        not stream_en_archivo(uri, listas[2])):

        #        copiar = gtk.MenuItem("Copiar a JAMedia")
        #        self.append(copiar)
        #        copiar.connect_object("activate", self.__set_accion,
        #            widget, path, "Copiar")

        #        mover = gtk.MenuItem("Mover a JAMedia")
        #        self.append(mover)
        #        mover.connect_object("activate", self.__set_accion,
        #            widget, path, "Mover")

        #    grabar = gtk.MenuItem("Grabar")
        #    self.append(grabar)
        #    grabar.connect_object("activate", self.__set_accion,
        #        widget, path, "Grabar")

        self.show_all()
        self.attach_to_widget(widget, self.__null)
Exemple #16
0
    def __init__(self, widget, boton, pos, tiempo, path, modelo):

        Gtk.Menu.__init__(self)

        iter = modelo.get_iter(path)
        uri = modelo.get_value(iter, 2)

        quitar = Gtk.MenuItem("Quitar de la Lista")
        self.append(quitar)
        quitar.connect_object("activate", self.__set_accion,
            widget, path, "Quitar")

        from Globales import describe_acceso_uri
        from Globales import get_my_files_directory
        from Globales import get_data_directory
        from Globales import stream_en_archivo

        if describe_acceso_uri(uri):
            lectura, escritura, ejecucion = describe_acceso_uri(uri)

            if lectura and os.path.dirname(uri) != get_my_files_directory():
                copiar = Gtk.MenuItem("Copiar a JAMedia")
                self.append(copiar)
                copiar.connect_object("activate", self.__set_accion,
                    widget, path, "Copiar")

            if escritura and os.path.dirname(uri) != get_my_files_directory():
                mover = Gtk.MenuItem("Mover a JAMedia")
                self.append(mover)
                mover.connect_object("activate", self.__set_accion,
                    widget, path, "Mover")

            if escritura:
                borrar = Gtk.MenuItem("Borrar el Archivo")
                self.append(borrar)
                borrar.connect_object("activate", self.__set_accion,
                    widget, path, "Borrar")

        else:
            borrar = Gtk.MenuItem("Borrar Streaming")
            self.append(borrar)
            borrar.connect_object("activate", self.__set_accion,
                widget, path, "Borrar")

            listas = [
                os.path.join(get_data_directory(), "JAMediaTV.JAMedia"),
                os.path.join(get_data_directory(), "JAMediaRadio.JAMedia"),
                os.path.join(get_data_directory(), "MisRadios.JAMedia"),
                os.path.join(get_data_directory(), "MisTvs.JAMedia")
                ]

            if (stream_en_archivo(uri, listas[0]) and \
                not stream_en_archivo(uri, listas[3])) or \
                (stream_en_archivo(uri, listas[1]) and \
                not stream_en_archivo(uri, listas[2])):

                copiar = Gtk.MenuItem("Copiar a JAMedia")
                self.append(copiar)
                copiar.connect_object("activate", self.__set_accion,
                    widget, path, "Copiar")

                mover = Gtk.MenuItem("Mover a JAMedia")
                self.append(mover)
                mover.connect_object("activate", self.__set_accion,
                    widget, path, "Mover")

            grabar = Gtk.MenuItem("Grabar")
            self.append(grabar)
            grabar.connect_object("activate", self.__set_accion,
                widget, path, "Grabar")

        self.show_all()
        self.attach_to_widget(widget, self.__null)
Exemple #17
0
    def __realizar_accion(self, widget):
        """
        Ejecuta una accion sobre un archivo o streaming
        en la lista de reprucción cuando el usuario confirma.
        """

        uri = self.lista.get_model().get_value(self.iter, 2)

        if self.accion == "Quitar":
            path = self.lista.get_model().get_path(self.iter)
            path = (path[0] - 1, )
            self.lista.get_model().remove(self.iter)
            self.__reselect(path)

        else:
            if describe_acceso_uri(uri):
                if self.accion == "Copiar":
                    if os.path.isfile(uri):
                        copiar(uri, get_my_files_directory())

                elif self.accion == "Borrar":
                    if os.path.isfile(uri):
                        if borrar(uri):
                            path = self.lista.get_model().get_path(self.iter)
                            path = (path[0] - 1, )
                            self.lista.get_model().remove(self.iter)
                            self.__reselect(path)

                elif self.accion == "Mover":
                    if os.path.isfile(uri):
                        if mover(uri, get_my_files_directory()):
                            path = self.lista.get_model().get_path(self.iter)
                            path = (path[0] - 1, )
                            self.lista.get_model().remove(self.iter)
                            self.__reselect(path)

            #Streaming no se usan en JAMediaVideo
            #else:
            #    if self.accion == "Quitar":
            #        path = self.lista.get_model().get_path(self.iter)
            #        path = (path[0] - 1, )
            #        self.lista.get_model().remove(self.iter)
            #        self.__reselect(path)

            #    elif self.accion == "Borrar":
            #        self.emit("accion-stream", "Borrar", uri)
            #        path = self.lista.get_model().get_path(self.iter)
            #        path = (path[0] - 1, )
            #        self.lista.get_model().remove(self.iter)
            #        self.__reselect(path)

            #    elif self.accion == "Copiar":
            #        self.emit("accion-stream", "Copiar", uri)

            #    elif self.accion == "Mover":
            #        self.emit("accion-stream", "Mover", uri)
            #        path = self.lista.get_model().get_path(self.iter)
            #        path = (path[0] - 1, )
            #        self.lista.get_model().remove(self.iter)
            #        self.__reselect(path)

            #    elif self.accion == "Grabar":
            #        self.emit("Grabar", uri)

        self.emit("aviso", self.accion, uri)
        self.label.set_text("")
        self.lista = None
        self.accion = None
        self.iter = None
        self.hide()
Exemple #18
0
    def __realizar_accion(self, widget):
        """
        Ejecuta una accion sobre un archivo o streaming
        en la lista de reprucción cuando el usuario confirma.
        """

        uri = self.lista.get_model().get_value(self.iter, 2)

        if describe_acceso_uri(uri):
            if self.accion == "Quitar":
                path = self.lista.get_model().get_path(self.iter)
                path = (path[0] - 1, )
                self.lista.get_model().remove(self.iter)
                self.__reselect(path)

            elif self.accion == "Copiar":
                if os.path.isfile(uri):
                    copiar(uri, get_my_files_directory())

            elif self.accion == "Borrar":
                if os.path.isfile(uri):
                    if borrar(uri):
                        path = self.lista.get_model().get_path(self.iter)
                        path = (path[0] - 1, )
                        self.lista.get_model().remove(self.iter)
                        self.__reselect(path)

            elif self.accion == "Mover":
                if os.path.isfile(uri):
                    if mover(uri, get_my_files_directory()):
                        path = self.lista.get_model().get_path(self.iter)
                        path = (path[0] - 1, )
                        self.lista.get_model().remove(self.iter)
                        self.__reselect(path)

        #Streaming no se usan en JAMediaVideo
        #else:
        #    if self.accion == "Quitar":
        #        path = self.lista.get_model().get_path(self.iter)
        #        path = (path[0] - 1, )
        #        self.lista.get_model().remove(self.iter)
        #        self.__reselect(path)

        #    elif self.accion == "Borrar":
        #        self.emit("accion-stream", "Borrar", uri)
        #        path = self.lista.get_model().get_path(self.iter)
        #        path = (path[0] - 1, )
        #        self.lista.get_model().remove(self.iter)
        #        self.__reselect(path)

        #    elif self.accion == "Copiar":
        #        self.emit("accion-stream", "Copiar", uri)

        #    elif self.accion == "Mover":
        #        self.emit("accion-stream", "Mover", uri)
        #        path = self.lista.get_model().get_path(self.iter)
        #        path = (path[0] - 1, )
        #        self.lista.get_model().remove(self.iter)
        #        self.__reselect(path)

        #    elif self.accion == "Grabar":
        #        self.emit("Grabar", uri)

        self.emit("aviso", self.accion, uri)
        self.label.set_text("")
        self.lista = None
        self.accion = None
        self.iter = None
        self.hide()
    def __cargar_lista(self, widget, indice):
        """
        Recibe el indice seleccionado en el menu de toolbarlist y
        carga la lista correspondiente.

        Esto es solo para JAMedia no embebido ya que cuando JAMedia
        esta embebida, no posee la toolbarlist.
        """

        model, iter = self.lista_de_reproduccion.get_selection().get_selected()
        ultimopath = False

        if model and iter:
            valor = model.get_value(iter, 2)

            if valor:
                from Globales import describe_uri

                descripcion = describe_uri(valor)

                if descripcion:
                    if descripcion[2]:
                        ultimopath = valor

        map(self.__ocultar, [
            self.toolbar_accion,
            self.toolbaraddstream])

        self.toolbar_list.boton_agregar.hide()

        from Globales import get_data_directory
        from Globales import get_my_files_directory
        from Globales import get_tube_directory
        from Globales import get_audio_directory
        from Globales import get_video_directory

        if indice == 0:
            archivo = os.path.join(
                get_data_directory(),
                'JAMediaRadio.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "JAM-Radio")

        elif indice == 1:
            # HACK: Tv no funciona con JAMediaReproductor.
            #if self.player == self.jamediareproductor:
            #    self.switch_reproductor(None, "MplayerReproductor")

            archivo = os.path.join(
                get_data_directory(),
                'JAMediaTV.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "JAM-TV")

        elif indice == 2:
            archivo = os.path.join(
                get_data_directory(),
                'MisRadios.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "Radios")
            self.toolbar_list.boton_agregar.show()

        elif indice == 3:
            # HACK: Tv no funciona con JAMediaReproductor.
            #if self.player == self.jamediareproductor:
            #    self.switch_reproductor(None, "MplayerReproductor")

            archivo = os.path.join(
                get_data_directory(),
                'MisTvs.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "TVs")
            self.toolbar_list.boton_agregar.show()

        elif indice == 4:
            # HACK: Tv no funciona con JAMediaReproductor.
            #if self.player == self.jamediareproductor:
            #    self.switch_reproductor(None, "MplayerReproductor")

            archivo = os.path.join(
                get_data_directory(),
                'JAMediaWebCams.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "WebCams")
            #self.toolbar_list.boton_agregar.show()

        elif indice == 5:
            self.__seleccionar_lista_de_archivos(
                get_my_files_directory(),
                "Archivos")

        elif indice == 6:
            self.__seleccionar_lista_de_archivos(
                get_tube_directory(),
                "JAM-Tube")

        elif indice == 7:
            self.__seleccionar_lista_de_archivos(
                get_audio_directory(),
                "JAM-Audio")

        elif indice == 8:
            self.__seleccionar_lista_de_archivos(
                get_video_directory(),
                "JAM-Video")

        elif indice == 9:
            from Widgets import My_FileChooser

            directorio = None

            if ultimopath:
                directorio = "file://%s" % os.path.dirname(ultimopath)

            selector = My_FileChooser(
                parent=self.get_toplevel(),
                action=Gtk.FileChooserAction.OPEN,
                mime=["audio/*", "video/*"],
                title="Abrir Archivos.",
                path=directorio,
                filter=[])

            selector.connect(
                'archivos-seleccionados', self.__cargar_directorio)

            selector.run()

            if selector:
                selector.destroy()
    def __init__(self, widget, boton, pos, tiempo, path, modelo):

        gtk.Menu.__init__(self)

        _iter = modelo.get_iter(path)
        uri = modelo.get_value(_iter, 2)

        quitar = gtk.MenuItem("Quitar de la Lista")
        self.append(quitar)
        quitar.connect_object("activate", self.__emit_accion,
            widget, path, "Quitar")

        my_files_directory = get_my_files_directory()

        if describe_acceso_uri(uri):
            lectura, escritura, ejecucion = describe_acceso_uri(uri)
            if lectura and os.path.dirname(uri) != my_files_directory:
                copiar = gtk.MenuItem("Copiar a JAMedia")
                self.append(copiar)
                copiar.connect_object("activate", self.__emit_accion,
                    widget, path, "Copiar")
            if escritura and os.path.dirname(uri) != my_files_directory:
                mover = gtk.MenuItem("Mover a JAMedia")
                self.append(mover)
                mover.connect_object("activate", self.__emit_accion,
                    widget, path, "Mover")
            if escritura:
                borrar = gtk.MenuItem("Borrar el Archivo")
                self.append(borrar)
                borrar.connect_object("activate", self.__emit_accion,
                    widget, path, "Borrar")
            #tipo = describe_archivo(uri)
            #if "audio" in tipo or "video" in tipo or
            # "application/ogg" in tipo:
            #    editar = gtk.MenuItem("Editar o Convertir Archivo")
            #    self.append(editar)
            #    editar.connect_object("activate", self.__emit_accion,
            #        widget, path, "Editar")
        else:
            borrar = gtk.MenuItem("Borrar Streaming")
            self.append(borrar)
            borrar.connect_object("activate", self.__emit_accion,
                widget, path, "Borrar")
            listas = [
                os.path.join(get_data_directory(), "JAMediaTV.JAMedia"),
                os.path.join(get_data_directory(), "JAMediaRadio.JAMedia"),
                os.path.join(get_data_directory(), "MisRadios.JAMedia"),
                os.path.join(get_data_directory(), "MisTvs.JAMedia"),
                os.path.join(get_data_directory(), "JAMediaWebCams.JAMedia"),
                ]
            jtv = stream_en_archivo(uri, listas[0])
            jr = stream_en_archivo(uri, listas[1])
            r = stream_en_archivo(uri, listas[2])
            tv = stream_en_archivo(uri, listas[3])
            #webcam = stream_en_archivo(uri, listas[4])

            if (jtv and not tv) or (jr and not r):
                copiar = gtk.MenuItem("Copiar a JAMedia")
                self.append(copiar)
                copiar.connect_object("activate", self.__emit_accion,
                    widget, path, "Copiar")
                mover = gtk.MenuItem("Mover a JAMedia")
                self.append(mover)
                mover.connect_object("activate", self.__emit_accion,
                    widget, path, "Mover")

            grabar = gtk.MenuItem("Grabar")
            self.append(grabar)
            grabar.connect_object("activate", self.__emit_accion,
                widget, path, "Grabar")

        self.show_all()
        self.attach_to_widget(widget, self.__null)
Exemple #21
0
    def __cargar_lista(self, widget, indice):
        """
        Recibe el indice seleccionado en el menu de toolbarlist y
        carga la lista correspondiente.

        Esto es solo para JAMedia no embebido ya que cuando JAMedia
        esta embebida, no posee la toolbarlist.
        """

        model, iter = self.lista_de_reproduccion.get_selection().get_selected()
        ultimopath = False

        if model and iter:
            valor = model.get_value(iter, 2)

            if valor:
                from Globales import describe_uri

                descripcion = describe_uri(valor)

                if descripcion:
                    if descripcion[2]:
                        ultimopath = valor

        map(self.__ocultar, [self.toolbar_accion, self.toolbaraddstream])

        self.toolbar_list.boton_agregar.hide()

        from Globales import get_data_directory
        from Globales import get_my_files_directory
        from Globales import get_tube_directory
        from Globales import get_audio_directory
        from Globales import get_video_directory

        if indice == 0:
            archivo = os.path.join(get_data_directory(),
                                   'JAMediaRadio.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "JAM-Radio")

        elif indice == 1:
            # HACK: Tv no funciona con JAMediaReproductor.
            #if self.player == self.jamediareproductor:
            #    self.switch_reproductor(None, "MplayerReproductor")

            archivo = os.path.join(get_data_directory(), 'JAMediaTV.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "JAM-TV")

        elif indice == 2:
            archivo = os.path.join(get_data_directory(), 'MisRadios.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "Radios")
            self.toolbar_list.boton_agregar.show()

        elif indice == 3:
            # HACK: Tv no funciona con JAMediaReproductor.
            #if self.player == self.jamediareproductor:
            #    self.switch_reproductor(None, "MplayerReproductor")

            archivo = os.path.join(get_data_directory(), 'MisTvs.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "TVs")
            self.toolbar_list.boton_agregar.show()

        elif indice == 4:
            # HACK: Tv no funciona con JAMediaReproductor.
            #if self.player == self.jamediareproductor:
            #    self.switch_reproductor(None, "MplayerReproductor")

            archivo = os.path.join(get_data_directory(),
                                   'JAMediaWebCams.JAMedia')

            self.__seleccionar_lista_de_stream(archivo, "WebCams")
            #self.toolbar_list.boton_agregar.show()

        elif indice == 5:
            self.__seleccionar_lista_de_archivos(get_my_files_directory(),
                                                 "Archivos")

        elif indice == 6:
            self.__seleccionar_lista_de_archivos(get_tube_directory(),
                                                 "JAM-Tube")

        elif indice == 7:
            self.__seleccionar_lista_de_archivos(get_audio_directory(),
                                                 "JAM-Audio")

        elif indice == 8:
            self.__seleccionar_lista_de_archivos(get_video_directory(),
                                                 "JAM-Video")

        elif indice == 9:
            from Widgets import My_FileChooser

            directorio = None

            if ultimopath:
                directorio = "file://%s" % os.path.dirname(ultimopath)

            selector = My_FileChooser(parent=self.get_toplevel(),
                                      action=Gtk.FileChooserAction.OPEN,
                                      mime=["audio/*", "video/*"],
                                      title="Abrir Archivos.",
                                      path=directorio,
                                      filter=[])

            selector.connect('archivos-seleccionados',
                             self.__cargar_directorio)

            selector.run()

            if selector:
                selector.destroy()
Exemple #22
0
    def __init__(self, widget, boton, pos, tiempo, path, modelo):

        gtk.Menu.__init__(self)

        _iter = modelo.get_iter(path)
        uri = modelo.get_value(_iter, 2)

        quitar = gtk.MenuItem("Quitar de la Lista")
        self.append(quitar)
        quitar.connect_object("activate", self.__emit_accion, widget, path,
                              "Quitar")

        my_files_directory = get_my_files_directory()

        if describe_acceso_uri(uri):
            lectura, escritura, ejecucion = describe_acceso_uri(uri)

            if lectura and os.path.dirname(uri) != my_files_directory:
                copiar = gtk.MenuItem("Copiar a JAMedia")
                self.append(copiar)
                copiar.connect_object("activate", self.__emit_accion, widget,
                                      path, "Copiar")

            if escritura and os.path.dirname(uri) != my_files_directory:
                mover = gtk.MenuItem("Mover a JAMedia")
                self.append(mover)
                mover.connect_object("activate", self.__emit_accion, widget,
                                     path, "Mover")

            if escritura:
                borrar = gtk.MenuItem("Borrar el Archivo")
                self.append(borrar)
                borrar.connect_object("activate", self.__emit_accion, widget,
                                      path, "Borrar")

            #tipo = describe_archivo(uri)
            #if "audio" in tipo or "video" in tipo or "application/ogg" in tipo:
            #    editar = gtk.MenuItem("Editar o Convertir Archivo")
            #    self.append(editar)
            #    editar.connect_object("activate", self.__emit_accion,
            #        widget, path, "Editar")

        else:
            borrar = gtk.MenuItem("Borrar Streaming")
            self.append(borrar)
            borrar.connect_object("activate", self.__emit_accion, widget, path,
                                  "Borrar")

            listas = [
                os.path.join(get_data_directory(), "JAMediaTV.JAMedia"),
                os.path.join(get_data_directory(), "JAMediaRadio.JAMedia"),
                os.path.join(get_data_directory(), "MisRadios.JAMedia"),
                os.path.join(get_data_directory(), "MisTvs.JAMedia"),
                os.path.join(get_data_directory(), "JAMediaWebCams.JAMedia"),
            ]

            jtv = stream_en_archivo(uri, listas[0])
            jr = stream_en_archivo(uri, listas[1])
            r = stream_en_archivo(uri, listas[2])
            tv = stream_en_archivo(uri, listas[3])
            webcam = stream_en_archivo(uri, listas[4])

            if (jtv and not tv) or (jr and not r):
                copiar = gtk.MenuItem("Copiar a JAMedia")
                self.append(copiar)
                copiar.connect_object("activate", self.__emit_accion, widget,
                                      path, "Copiar")

                mover = gtk.MenuItem("Mover a JAMedia")
                self.append(mover)
                mover.connect_object("activate", self.__emit_accion, widget,
                                     path, "Mover")

            grabar = gtk.MenuItem("Grabar")
            self.append(grabar)
            grabar.connect_object("activate", self.__emit_accion, widget, path,
                                  "Grabar")

        self.show_all()
        self.attach_to_widget(widget, self.__null)