def add_exec_button_clicked(self, widget): path = self.check_user_desktop() fcb = Dialog.FileDialog(self.core.lri.main_window, _("Please choose a file"), path) response = fcb.run() #Creo las listas de ayuda para anyadir paquetes si no existen antes self.exec_list_init() if response == Gtk.ResponseType.OK: exec_url = fcb.get_filename() fcb.destroy() pkg = os.path.basename(exec_url) lines = subprocess.Popen( ["LAGUAGE=en_EN; md5sum %s | awk '{print $1}'" % exec_url], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[0] for line in lines.splitlines(): md5 = line.decode('utf-8') pkg_tupla = [pkg, md5] #Compruebo si existe el paquete en la lista if any(pkg in element for element in self.core.current_var["sh"]["packages"]): #No es nuevo, compruebo si coincide su md5sum y lo apunto a subir de nuevo if pkg_tupla not in self.core.current_var["sh"]["packages"]: #he de eliminar la tupla de la lista que contiene mi elemento con mismo pkg pero con nuevo md5sum for i, [pkg_for, md5_for] in enumerate( self.core.current_var["sh"]["packages"]): if pkg == pkg_for: self.core.current_var["sh"]["packages"].pop(i) #self.core.current_var["sh"]["packages"].remove(pkg_tupla) self.core.current_var["sh"]["packages"].append(pkg_tupla) self.new_execs.append([pkg, exec_url]) self.list_new_execs.append(pkg) else: self.core.current_var["sh"]["packages"].append(pkg_tupla) self.new_package_button(pkg) #print "paquete nuevo en lista, esta subido??" #Compruebo que es accesible via apache, sino lo apunto para copiar cuando aplique. exist_in_server = self.core.n4d.app_deb_exist( pkg, self.core.current_var["sh"]["url"]) if not exist_in_server[0]: #print "No existe este exec lo debo de subir" self.new_execs.append([pkg, exec_url]) self.list_new_execs.append(pkg) # ###### # #print self.core.current_var #print self.core.var return True else: fcb.destroy() return False
def add_deb_button_clicked(self, widget): path = self.check_user_desktop() #print path fcb = Dialog.FileDialog(self.core.lri.main_window, _("Please choose a file"), path) response = fcb.run() self.deb_list_init() if response == Gtk.ResponseType.OK: deb_url = fcb.get_filename() fcb.destroy() pkg = os.path.basename(deb_url) extension = os.path.splitext(pkg)[1] if extension not in [".deb", ".DEB"]: self.error_extension_dialog(pkg) fcb.destroy() return False #Compruebo si es un paquete nuevo de la lista if pkg not in self.core.current_var["deb"]["packages"]: self.core.current_var["deb"]["packages"].append(pkg) self.new_package_button(pkg) #print "paquete nuevo en lista, esta subido??" #Compruebo que es accesible via apache, sino lo apunto para copiar cuando aplique. exist_in_server = self.core.n4d.app_deb_exist( pkg, self.core.current_var["deb"]["url"]) self.core.dprint( "(DebBox)(add_deb_button_clicked) self.core.n4d.app_deb_exist: %s" % exist_in_server) if not exist_in_server[0]: #print "No existe este deb lo debo de subir" self.core.dprint( "(DebBox)(add_deb_button_clicked) Package %s marked to upload to server" % pkg) self.new_debs.append([pkg, deb_url]) self.list_new_debs.append(pkg) # ###### # return True else: fcb.destroy() return False