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 __eliminar_video(self, widget): from Globales import get_data_directory import shelve dict_tube = shelve.open( os.path.join(get_data_directory(), "List.tube")) if len(dict_tube[self.listas.valor_select].keys()) == 1: modelo, iter = self.listas.treeselection.get_selected() path = modelo.get_path(iter) self.__eliminar(self.listas, path) else: videos = {} for id in dict_tube[self.listas.valor_select].keys(): if id != widget.videodict["id"]: videos[id] = dict_tube[self.listas.valor_select][id] dict_tube[self.listas.valor_select] = videos widget.destroy() self.label.set_text("%s Videos Listados." % len( self.videos.get_children()[0].get_children())) dict_tube.close()
def __select_list(self, widget, valor): """ Cuando se selecciona una lista, se cargan los videos que contiene en self.videos. """ self.actualizando = True self.panel.set_sensitive(False) for child in self.videos.get_children(): self.videos.remove(child) child.destroy() new_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) new_box.show_all() self.videos.pack_start( new_box, True, True, 0) from Globales import get_data_directory import shelve dict_tube = shelve.open( os.path.join(get_data_directory(), "List.tube")) videos = [] for item in dict_tube[valor].keys(): videos.append(dict_tube[valor][item]) dict_tube.close() GLib.idle_add(self.__add_videos, videos)
def __get_menu(self, widget): """ El menu con las listas de videos almacenadas en archivos shelve. """ dict_tube = shelve.open(os.path.join(get_data_directory(), "List.tube")) keys = dict_tube.keys() dict_tube.close() if keys: self.emit("menu_activo") menu = gtk.Menu() administrar = gtk.MenuItem('Administrar') administrar.connect_object("activate", self.__administrar, None) cargar = gtk.MenuItem('Cargar') menu.append(administrar) menu.append(cargar) menu_listas = gtk.Menu() cargar.set_submenu(menu_listas) for key in keys: item = gtk.MenuItem(key) menu_listas.append(item) item.connect_object("activate", self.__emit_abrir, key) menu.show_all() menu.attach_to_widget(widget, self.__null) gtk.Menu.popup(menu, None, None, None, 1, 0)
def __eliminar(self, widget, path): """ Elimina una lista del archivo shelve. """ if self.actualizando: return for child in self.videos.get_children(): self.videos.remove(child) child.destroy() new_box = gtk.VBox() new_box.show_all() self.videos.pack_start( new_box, True, True, 0) iter = widget.get_model().get_iter(path) key = widget.get_model().get_value(iter, 2) from Globales import get_data_directory import shelve dict_tube = shelve.open( os.path.join(get_data_directory(), "List.tube")) del(dict_tube[key]) keys = dict_tube.keys() dict_tube.close() widget.get_model().remove(iter) if not keys: dialog = gtk.Dialog( parent=self.get_toplevel(), #flags=gtk.DialogFlags.MODAL, title="", buttons=("OK", gtk.RESPONSE_ACCEPT)) dialog.set_border_width(15) dialog.set_decorated(False) dialog.modify_bg(gtk.STATE_NORMAL, get_colors("window")) label = gtk.Label("Todas las Listas han sido Eliminadas.") dialog.vbox.pack_start(label, True, True, 0) dialog.vbox.show_all() dialog.run() dialog.destroy() self.destroy()
def __eliminar(self, widget, path): """ Elimina una lista del archivo shelve. """ if self.actualizando: return for child in self.videos.get_children(): self.videos.remove(child) child.destroy() new_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) new_box.show_all() self.videos.pack_start( new_box, True, True, 0) iter = widget.get_model().get_iter(path) key = widget.get_model().get_value(iter, 2) from Globales import get_data_directory import shelve dict_tube = shelve.open( os.path.join(get_data_directory(), "List.tube")) del(dict_tube[key]) keys = dict_tube.keys() dict_tube.close() widget.get_model().remove(iter) if not keys: dialog = Gtk.Dialog( parent=self.get_toplevel(), flags=Gtk.DialogFlags.MODAL, buttons=["OK", Gtk.ResponseType.ACCEPT]) dialog.set_border_width(15) label = Gtk.Label("Todas las Listas han sido Eliminadas.") dialog.vbox.pack_start(label, True, True, 0) dialog.vbox.show_all() dialog.run() dialog.destroy() self.destroy()
def __do_realize(self, widget): """ Carga la lista de Albums de Descargas en self.listas. """ dict_tube = shelve.open(os.path.join(get_data_directory(), "List.tube")) keys = dict_tube.keys() dict_tube.close() lista = [] for key in keys: lista.append([key, key]) self.listas.agregar_items(lista)
def __abrir_lista_shelve(self, widget, key): """ Agrega a la lista, los videos almacenados en un archivo shelve. """ dict_tube = shelve.open(os.path.join(get_data_directory(), "List.tube")) _dict = dict_tube.get(key, []) dict_tube.close() videos = [] for item in _dict.keys(): videos.append(_dict[item]) self.emit('open_shelve_list', videos, widget)
def __load_lista(self, widget=None): """ Carga La Lista de Radios. """ from Globales import set_listas_default from Globales import get_data_directory from Globales import get_streamings set_listas_default() archivo = os.path.join(get_data_directory(), 'JAMediaRadio.JAMedia') items = get_streamings(archivo) self.lista.limpiar() self.lista.agregar_items(items)
def __eliminar(self, widget, path): """ Elimina una lista del archivo shelve. """ if self.actualizando: return for child in self.videos.get_children(): self.videos.remove(child) child.destroy() new_box = gtk.VBox() new_box.show_all() self.videos.pack_start(new_box, True, True, 0) _iter = widget.get_model().get_iter(path) key = widget.get_model().get_value(_iter, 2) from Globales import get_data_directory import shelve dict_tube = shelve.open(os.path.join(get_data_directory(), "List.tube")) del (dict_tube[key]) keys = dict_tube.keys() dict_tube.close() widget.get_model().remove(_iter) if not keys: dialog = gtk.Dialog(parent=self.get_toplevel(), title="", buttons=("OK", gtk.RESPONSE_ACCEPT)) dialog.set_border_width(15) dialog.set_decorated(False) dialog.modify_bg(gtk.STATE_NORMAL, get_colors("window")) label = gtk.Label("Todas las Listas han sido Eliminadas.") dialog.vbox.pack_start(label, True, True, 0) dialog.vbox.show_all() dialog.run() dialog.destroy() self.destroy()
def __load_lista(self, widget=None): """ Carga La Lista de Radios. """ from Globales import set_listas_default from Globales import get_data_directory from Globales import get_streamings set_listas_default() archivo = os.path.join( get_data_directory(), 'JAMediaRadio.JAMedia') items = get_streamings(archivo) self.lista.limpiar() self.lista.agregar_items(items)
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 __get_menu(self, widget): """ El menu con las listas de videos almacenadas en archivos shelve. """ from Globales import get_data_directory import shelve dict_tube = shelve.open( os.path.join(get_data_directory(), "List.tube")) keys = dict_tube.keys() dict_tube.close() if keys: self.emit("menu_activo") menu = Gtk.Menu() administrar = Gtk.MenuItem('Administrar') administrar.connect_object("activate", self.__administrar, None) cargar = Gtk.MenuItem('Cargar') menu.append(administrar) menu.append(cargar) menu_listas = Gtk.Menu() cargar.set_submenu(menu_listas) for key in keys: item = Gtk.MenuItem(key) menu_listas.append(item) item.connect_object("activate", self.__emit_abrir, key) menu.show_all() menu.attach_to_widget(widget, self.__null) menu.popup(None, None, None, None, 1, 0)
def __guardar_lista_shelve(self, widget, key_name): """ Guarda todos los videos de la lista bajo la key según key_name. """ origen = False if widget == self.toolbar_guardar_encontrados: origen = self.encontrados elif widget == self.toolbar_guardar_descargar: origen = self.descargar videos = [] if origen: video_items = origen.get_children() if video_items: for video in video_items: videos.append(video.videodict) if videos: from Globales import get_data_directory import shelve dict_tube = shelve.open( os.path.join(get_data_directory(), "List.tube")) dict = {} for elemento in videos: dict[elemento["id"]] = elemento ### Alerta de Sobre Escritura. if key_name in dict_tube.keys(): dialog = Gtk.Dialog(parent=self.get_toplevel(), flags=Gtk.DialogFlags.MODAL, buttons=[ "Suplantar", Gtk.ResponseType.ACCEPT, "Cancelar", Gtk.ResponseType.CANCEL ]) dialog.set_border_width(15) text = "Ya Existe un Album de Búsquedas con Este Nombre.\n" text = "%s%s" % (text, "¿Deseas Suplantarlo?") label = Gtk.Label(text) dialog.vbox.pack_start(label, True, True, 0) dialog.vbox.show_all() response = dialog.run() dialog.destroy() if response == Gtk.ResponseType.CANCEL: dict_tube.close() return dict_tube[key_name] = dict dict_tube.close() dialog = Gtk.Dialog(parent=self.get_toplevel(), flags=Gtk.DialogFlags.MODAL, buttons=["OK", Gtk.ResponseType.ACCEPT]) dialog.set_border_width(15) label = Gtk.Label("Videos Almacenados.") dialog.vbox.pack_start(label, True, True, 0) dialog.vbox.show_all() dialog.run() dialog.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") 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)
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)
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)
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 __guardar_lista_shelve(self, widget, key_name): """ Guarda todos los videos de la lista bajo la key según key_name. """ origen = False if widget == self.toolbar_guardar_encontrados: origen = self.encontrados elif widget == self.toolbar_guardar_descargar: origen = self.descargar videos = [] if origen: video_items = origen.get_children() if video_items: for video in video_items: videos.append(video.videodict) if videos: from Globales import get_data_directory import shelve dict_tube = shelve.open( os.path.join(get_data_directory(), "List.tube")) dict = {} for elemento in videos: dict[elemento["id"]] = elemento ### Alerta de Sobre Escritura. if key_name in dict_tube.keys(): dialog = Gtk.Dialog( parent=self.get_toplevel(), flags=Gtk.DialogFlags.MODAL, buttons=[ "Suplantar", Gtk.ResponseType.ACCEPT, "Cancelar", Gtk.ResponseType.CANCEL]) dialog.set_border_width(15) text = "Ya Existe un Album de Búsquedas con Este Nombre.\n" text = "%s%s" % (text, "¿Deseas Suplantarlo?") label = Gtk.Label(text) dialog.vbox.pack_start(label, True, True, 0) dialog.vbox.show_all() response = dialog.run() dialog.destroy() if response == Gtk.ResponseType.CANCEL: dict_tube.close() return dict_tube[key_name] = dict dict_tube.close() dialog = Gtk.Dialog( parent=self.get_toplevel(), flags=Gtk.DialogFlags.MODAL, buttons=["OK", Gtk.ResponseType.ACCEPT]) dialog.set_border_width(15) label = Gtk.Label("Videos Almacenados.") dialog.vbox.pack_start(label, True, True, 0) dialog.vbox.show_all() dialog.run() dialog.destroy()
def __guardar_lista_shelve(self, widget, key_name): """ Guarda todos los videos de la lista bajo la key según key_name. """ origen = False if widget == self.toolbar_guardar_encontrados: origen = self.encontrados elif widget == self.toolbar_guardar_descargar: origen = self.descargar videos = [] if origen: video_items = origen.get_children() if video_items: for video in video_items: videos.append(video.videodict) if videos: dict_tube = shelve.open( os.path.join(get_data_directory(), "List.tube")) _dict = {} for elemento in videos: _dict[elemento["id"]] = elemento # Alerta de Sobre Escritura. if key_name in dict_tube.keys(): dialog = gtk.Dialog(parent=self.get_toplevel(), title="", buttons=("Suplantar", gtk.RESPONSE_ACCEPT, "Cancelar", gtk.RESPONSE_CANCEL)) dialog.set_border_width(15) dialog.set_decorated(False) dialog.modify_bg(gtk.STATE_NORMAL, get_colors("window")) text = "Ya Existe un Album de Búsquedas con Este Nombre.\n" text = "%s%s" % (text, "¿Deseas Suplantarlo?") label = gtk.Label(text) dialog.vbox.pack_start(label, True, True, 0) dialog.vbox.show_all() response = dialog.run() dialog.destroy() if response == gtk.RESPONSE_CANCEL: dict_tube.close() return dict_tube[key_name] = _dict dict_tube.close() dialog = gtk.Dialog(parent=self.get_toplevel(), title="", buttons=("OK", gtk.RESPONSE_CANCEL)) dialog.set_border_width(15) dialog.set_decorated(False) dialog.modify_bg(gtk.STATE_NORMAL, get_colors("window")) label = gtk.Label("Videos Almacenados.") dialog.vbox.pack_start(label, True, True, 0) dialog.vbox.show_all() dialog.run() dialog.destroy()
def __guardar_lista_shelve(self, widget, key_name): """ Guarda todos los videos de la lista bajo la key según key_name. """ origen = False if widget == self.toolbar_guardar_encontrados: origen = self.encontrados elif widget == self.toolbar_guardar_descargar: origen = self.descargar videos = [] if origen: video_items = origen.get_children() if video_items: for video in video_items: videos.append(video.videodict) if videos: dict_tube = shelve.open(os.path.join(get_data_directory(), "List.tube")) _dict = {} for elemento in videos: _dict[elemento["id"]] = elemento # Alerta de Sobre Escritura. if key_name in dict_tube.keys(): dialog = gtk.Dialog(parent=self.get_toplevel(), title="", buttons=( "Suplantar", gtk.RESPONSE_ACCEPT, "Cancelar", gtk.RESPONSE_CANCEL)) dialog.set_border_width(15) dialog.set_decorated(False) dialog.modify_bg(gtk.STATE_NORMAL, get_colors("window")) text = "Ya Existe un Album de Búsquedas con Este Nombre.\n" text = "%s%s" % (text, "¿Deseas Suplantarlo?") label = gtk.Label(text) dialog.vbox.pack_start(label, True, True, 0) dialog.vbox.show_all() response = dialog.run() dialog.destroy() if response == gtk.RESPONSE_CANCEL: dict_tube.close() return dict_tube[key_name] = _dict dict_tube.close() dialog = gtk.Dialog(parent=self.get_toplevel(), title="", buttons=("OK", gtk.RESPONSE_CANCEL)) dialog.set_border_width(15) dialog.set_decorated(False) dialog.modify_bg(gtk.STATE_NORMAL, get_colors("window")) label = gtk.Label("Videos Almacenados.") dialog.vbox.pack_start(label, True, True, 0) dialog.vbox.show_all() dialog.run() dialog.destroy()