コード例 #1
0
    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
コード例 #2
0
    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