Changeset 3853


Ignore:
Timestamp:
Mar 9, 2017, 1:13:43 PM (2 years ago)
Author:
daduve
Message:

Exit aplly changes, new current.core.var

Location:
lliurex-remote-installer/trunk/fuentes/lliurex-remote-installer-gui.install/usr/share/lliurex-remote-installer
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • lliurex-remote-installer/trunk/fuentes/lliurex-remote-installer-gui.install/usr/share/lliurex-remote-installer/AptBox.py

    r3851 r3853  
    7070                self.set_css_info()
    7171               
    72                 self.current_var=None
     72                self.core.current_var=None
    7373                self.current_id=None
    7474               
     
    125125               
    126126                if not manage_dialog:
    127                         if self.current_var==None:
     127                        if self.core.current_var==None:
    128128                                return False
    129                         return self.current_var != self.core.var
    130                
    131                
    132                 if self.current_var!=None and self.current_var != self.core.var:
     129                        return self.core.current_var != self.core.var
     130               
     131               
     132                if self.core.current_var!=None and self.core.current_var != self.core.var:
    133133                        if not self.changes_detected_dialog(False):
    134134                                return True
     
    155155                                        self.new_apt_button(x)
    156156                       
    157                 self.current_var=copy.deepcopy(self.core.var)
     157                self.core.current_var=copy.deepcopy(self.core.var)
    158158                self.list_box.show_all()
    159159               
     
    218218                if not ignore_changes:
    219219                       
    220                         if self.current_var!=None:
     220                        if self.core.current_var!=None:
    221221                                if self.check_changes():
    222222                                        if not self.changes_detected_dialog(False):
     
    224224                       
    225225                        if apt_id !=self.current_id:
    226                                 self.current_var=copy.deepcopy(self.core.var)
     226                                self.core.current_var=copy.deepcopy(self.core.var)
    227227                               
    228228                self.current_id=apt_id
     
    239239                        self.package_list_box.remove(x)
    240240                       
    241                 self.url_entry.set_text(self.current_var["apt"][apt_id]["url"])
    242                        
    243                 for x in self.current_var["apt"][apt_id]["packages"]:
     241                self.url_entry.set_text(self.core.current_var["apt"][apt_id]["url"])
     242                       
     243                for x in self.core.current_var["apt"][apt_id]["packages"]:
    244244                        self.new_package_button("%s"%x)
    245245                               
     
    250250               
    251251                        for apt in self.list_box:
    252                                 if apt.get_tooltip_text() not in self.current_var["apt"]:
     252                                if apt.get_tooltip_text() not in self.core.current_var["apt"]:
    253253                                        self.list_box.remove(apt)
    254254                       
    255255               
    256256               
    257                 self.core.lri.main_window.connect("delete_event",self.check_changes,True)
     257                #self.core.lri.main_window.connect("delete_event",self.check_changes,True)
    258258               
    259259               
     
    283283                                        self.core.var["apt"].pop(self.current_id)
    284284                                        self.current_id=None
    285                                         self.current_var=None
     285                                        self.core.current_var=None
    286286                                        self.core.n4d.set_variable(self.core.var)
    287287               
     
    305305                        b=self.new_apt_button(name)
    306306                       
    307                         if self.current_var ==None:
    308                                 self.current_var=copy.deepcopy(self.core.var)
    309                                
    310                         self.current_var["apt"][name]={}
    311                         self.current_var["apt"][name]["packages"]=[]
    312                         self.current_var["apt"][name]["url"]=source
     307                        if self.core.current_var ==None:
     308                                self.core.current_var=copy.deepcopy(self.core.var)
     309                               
     310                        self.core.current_var["apt"][name]={}
     311                        self.core.current_var["apt"][name]["packages"]=[]
     312                        self.core.current_var["apt"][name]["url"]=source
    313313                        self.new_apt_window.hide()
    314314                       
    315                         self.core.var=copy.deepcopy(self.current_var)
     315                        self.core.var=copy.deepcopy(self.core.current_var)
    316316                        self.core.n4d.set_variable(self.core.var)
    317317                       
     
    352352                        self.package_list_box.remove(hbox)
    353353                               
    354                         for p in range(len(self.current_var["apt"][self.current_id]["packages"])-1,-1,-1):
    355                                 if self.current_var["apt"][self.current_id]["packages"][p]==pkg:
    356                                         self.current_var["apt"][self.current_id]["packages"].pop(p)
     354                        for p in range(len(self.core.current_var["apt"][self.current_id]["packages"])-1,-1,-1):
     355                                if self.core.current_var["apt"][self.current_id]["packages"][p]==pkg:
     356                                        self.core.current_var["apt"][self.current_id]["packages"].pop(p)
    357357                                       
    358358                        # STORE VALUE IN N4D HERE IF NEEDED
     
    365365        def url_entry_changed(self,widget):
    366366               
    367                 if self.current_var !=None:
     367                if self.core.current_var !=None:
    368368                        txt=widget.get_text()
    369369                        if len(txt)>6:
    370                                 self.current_var["apt"][self.current_id]["url"]=txt
     370                                self.core.current_var["apt"][self.current_id]["url"]=txt
    371371
    372372        #def url_entry_changed 
     
    382382                       
    383383                        pkg=pkg.strip(" ")
    384                         if pkg not in self.current_var["apt"][self.current_id]["packages"]:
    385                                 self.current_var["apt"][self.current_id]["packages"].append(pkg)
     384                        if pkg not in self.core.current_var["apt"][self.current_id]["packages"]:
     385                                self.core.current_var["apt"][self.current_id]["packages"].append(pkg)
    386386                        self.new_package_button(pkg)
    387387                       
     
    424424                        # ######### #
    425425                       
    426                         self.core.var=copy.deepcopy(self.current_var)
     426                        self.core.var=copy.deepcopy(self.core.current_var)
    427427                        self.test_apt=self.core.n4d.test_apt_list(self.core.var)
    428428                        self.thread_ret={"status":True,"msg":"SE HA ROTO"}
     
    453453                                        self.core.n4d.set_variable(self.test_apt[1])
    454454                                        self.core.var=copy.deepcopy(self.test_apt[1])
    455                                         self.current_var=copy.deepcopy(self.test_apt[1])
     455                                        self.core.current_var=copy.deepcopy(self.test_apt[1])
    456456                                else:
    457457                                        self.core.n4d.set_variable(self.core.var)
  • lliurex-remote-installer/trunk/fuentes/lliurex-remote-installer-gui.install/usr/share/lliurex-remote-installer/DebBox.py

    r3851 r3853  
    4646                self.set_css_info()
    4747               
    48                 self.current_var=None
     48                self.core.current_var=None
    4949                self.current_id=None
    5050               
     
    7676                       
    7777                self.core.var=info
    78                 self.current_var=copy.deepcopy(self.core.var)
     78                self.core.current_var=copy.deepcopy(self.core.var)
    7979                for x in self.core.var["deb"]["packages"]:
    8080                        self.new_package_button("%s"%x)
    8181                       
    82                 self.core.lri.main_window.connect("delete_event",self.check_changes,True)
     82                #self.core.lri.main_window.connect("delete_event",self.check_changes,True)
    8383
    8484        #def set_info
     
    123123                        pkg=os.path.basename(deb_url)
    124124                        #Compruebo si es un paquete nuevo de la lista
    125                         if pkg not in self.current_var["deb"]["packages"]:
    126                                 self.current_var["deb"]["packages"].append(pkg)
     125                        if pkg not in self.core.current_var["deb"]["packages"]:
     126                                self.core.current_var["deb"]["packages"].append(pkg)
    127127                                self.new_package_button(pkg)
    128128                                #print "paquete nuevo en lista, esta subido??"
    129129                                #Compruebo que es accesible via apache, sino lo apunto para copiar cuando aplique.
    130                                 exist_in_server=self.core.n4d.app_deb_exist(pkg, self.current_var["deb"]["url"])
     130                                exist_in_server=self.core.n4d.app_deb_exist(pkg, self.core.current_var["deb"]["url"])
    131131                                if not exist_in_server[0]:
    132132                                        #print "No existe este deb lo debo de subir"
     
    157157               
    158158                if not manage_dialog:
    159                         if self.current_var==None:
     159                        if self.core.current_var==None:
    160160                                return False
    161                         return self.current_var != self.core.var
     161                        return self.core.current_var != self.core.var
    162162               
    163163                               
    164                 if self.current_var!=None and self.current_var != self.core.var:
     164                if self.core.current_var!=None and self.core.current_var != self.core.var:
    165165                        if not self.changes_detected_dialog(False):
    166166                                return True
     
    212212                        self.package_list_box.remove(hbox)
    213213                       
    214                         for p in range(len(self.current_var["deb"]["packages"])-1,-1,-1):
    215                                 if self.current_var["deb"]["packages"][p]==pkg:
    216                                         self.current_var["deb"]["packages"].pop(p)
     214                        for p in range(len(self.core.current_var["deb"]["packages"])-1,-1,-1):
     215                                if self.core.current_var["deb"]["packages"][p]==pkg:
     216                                        self.core.current_var["deb"]["packages"].pop(p)
    217217                        #Compruebo que es accesible via apache, y pregunto si lo borro tambien del servidor
    218                         exist_in_server=self.core.n4d.app_deb_exist(pkg, self.current_var["deb"]["url"])
     218                        exist_in_server=self.core.n4d.app_deb_exist(pkg, self.core.current_var["deb"]["url"])
    219219                        if exist_in_server[0]:
    220220                                if self.remove_file_dialog(pkg):
     
    262262                        self.package_list_box.remove(c)
    263263                       
    264                 for x in self.current_var["deb"]["packages"]:
     264                for x in self.core.current_var["deb"]["packages"]:
    265265                        self.new_package_button("%s"%x)
    266266                if self.deleted[0]:
    267                         self.core.var=copy.deepcopy(self.current_var)
     267                        self.core.var=copy.deepcopy(self.core.current_var)
    268268                        self.core.n4d.set_variable(self.core.var)
    269269                       
     
    306306                                        pkg=deb[0]
    307307                                        deb_url=deb[1]
    308                                         if self.current_var["deb"]["url"] in [None,"",[]]:
    309                                                 self.current_var["deb"]["url"]="http://server/llx-remote/"
    310                                         url_dest=self.current_var["deb"]["url"].split('http://server/')[1]
     308                                        if self.core.current_var["deb"]["url"] in [None,"",[]]:
     309                                                self.core.current_var["deb"]["url"]="http://server/llx-remote/"
     310                                        url_dest=self.core.current_var["deb"]["url"].split('http://server/')[1]
    311311                                        url_dest="/var/www/"+str(url_dest)
    312312                                        self.core.n4d.send_file("server",deb_url,url_dest)
     
    315315                                self.list_new_debs=[]
    316316                        self.core.dprint("Applying changes...")
    317                         self.core.var=copy.deepcopy(self.current_var)
     317                        self.core.var=copy.deepcopy(self.core.current_var)
    318318                        self.test_deb=self.core.n4d.test_deb_list(self.core.var)
    319319                        self.thread_ret={"status":True,"msg":"SE HA ROTO"}
     
    340340                                        self.core.n4d.set_variable(self.test_deb[1])
    341341                                        self.core.var=copy.deepcopy(self.test_deb[1])
    342                                         self.current_var=copy.deepcopy(self.test_deb[1])
     342                                        self.core.current_var=copy.deepcopy(self.test_deb[1])
    343343                                else:
    344344                                        self.core.var["deb"]["url"]="http://server/llx-remote/"
  • lliurex-remote-installer/trunk/fuentes/lliurex-remote-installer-gui.install/usr/share/lliurex-remote-installer/ExecBox.py

    r3851 r3853  
    4646                self.set_css_info()
    4747               
    48                 self.current_var=None
     48                self.core.current_var=None
    4949                self.current_id=None
    5050               
     
    7676                       
    7777                self.core.var=info
    78                 self.current_var=copy.deepcopy(self.core.var)
     78                self.core.current_var=copy.deepcopy(self.core.var)
    7979                for x in self.core.var["sh"]["packages"]:
    8080                        self.new_package_button("%s"%x)
    8181                       
    82                 self.core.lri.main_window.connect("delete_event",self.check_changes,True)
    83 
     82               
    8483        #def set_info
    8584       
     
    123122                        pkg=os.path.basename(exec_url)
    124123                        #Compruebo si es un paquete nuevo de la lista
    125                         if pkg not in self.current_var["sh"]["packages"]:
    126                                 self.current_var["sh"]["packages"].append(pkg)
     124                        if pkg not in self.core.current_var["sh"]["packages"]:
     125                                self.core.current_var["sh"]["packages"].append(pkg)
    127126                                self.new_package_button(pkg)
    128127                                #print "paquete nuevo en lista, esta subido??"
    129128                                #Compruebo que es accesible via apache, sino lo apunto para copiar cuando aplique.
    130                                 exist_in_server=self.core.n4d.app_deb_exist(pkg, self.current_var["sh"]["url"])
     129                                exist_in_server=self.core.n4d.app_deb_exist(pkg, self.core.current_var["sh"]["url"])
    131130                                if not exist_in_server[0]:
    132131                                        #print "No existe este exec lo debo de subir"
     
    136135
    137136                        # ###### #
    138                         #print self.current_var
     137                        #print self.core.current_var
    139138                        #print self.core.var
    140139                        return True
     
    157156        def check_changes(self,widget=True,event=True,manage_dialog=False):
    158157               
     158               
    159159                if not manage_dialog:
    160                         if self.current_var==None:
     160                        if self.core.current_var==None:
    161161                                return False
    162                         return self.current_var != self.core.var
     162                        return self.core.current_var != self.core.var
    163163               
    164164                               
    165                 if self.current_var!=None and self.current_var != self.core.var:
     165                if self.core.current_var!=None and self.core.current_var != self.core.var:
    166166                        if not self.changes_detected_dialog(False):
    167167                                return True
     
    213213                        self.package_list_box.remove(hbox)
    214214                       
    215                         for p in range(len(self.current_var["sh"]["packages"])-1,-1,-1):
    216                                 if self.current_var["sh"]["packages"][p]==pkg:
    217                                         self.current_var["sh"]["packages"].pop(p)
     215                        for p in range(len(self.core.current_var["sh"]["packages"])-1,-1,-1):
     216                                if self.core.current_var["sh"]["packages"][p]==pkg:
     217                                        self.core.current_var["sh"]["packages"].pop(p)
    218218                        #Compruebo que es accesible via apache, y pregunto si lo borro tambien del servidor
    219                         exist_in_server=self.core.n4d.app_deb_exist(pkg, self.current_var["sh"]["url"])
     219                        exist_in_server=self.core.n4d.app_deb_exist(pkg, self.core.current_var["sh"]["url"])
    220220                        if exist_in_server[0]:
    221221                                if self.remove_file_dialog(pkg):
     
    263263                        self.package_list_box.remove(c)
    264264                       
    265                 for x in self.current_var["sh"]["packages"]:
     265                for x in self.core.current_var["sh"]["packages"]:
    266266                        self.new_package_button("%s"%x)
    267267                if self.deleted[0]:
    268                         self.core.var=copy.deepcopy(self.current_var)
     268                        self.core.var=copy.deepcopy(self.core.current_var)
    269269                        self.core.n4d.set_variable(self.core.var)
    270270                       
     
    309309                                        pkg=sh[0]
    310310                                        exec_url=sh[1]
    311                                         if self.current_var["sh"]["url"] in [None,"",[]]:
    312                                                 self.current_var["sh"]["url"]="http://server/llx-remote/"
    313                                         url_dest=self.current_var["sh"]["url"].split('http://server/')[1]
     311                                        if self.core.current_var["sh"]["url"] in [None,"",[]]:
     312                                                self.core.current_var["sh"]["url"]="http://server/llx-remote/"
     313                                        url_dest=self.core.current_var["sh"]["url"].split('http://server/')[1]
    314314                                        url_dest="/var/www/"+str(url_dest)
    315315                                        response=self.core.n4d.send_file("server",exec_url,url_dest)
     
    317317                                        if not response:
    318318                                                self.not_sended_execs.append(pkg)
    319                                                 self.current_var["sh"]["packages"].remove(pkg)
     319                                                self.core.current_var["sh"]["packages"].remove(pkg)
    320320
    321321                                #Inicializo de nuevo la lista de paquetes, ya esta subido todo lo que se queria.
     
    324324                       
    325325                        self.core.dprint("Applying changes...")
    326                         self.test_exec=self.core.n4d.test_list(self.current_var,'sh')
    327                         self.core.var=copy.deepcopy(self.current_var)
     326                        self.test_exec=self.core.n4d.test_list(self.core.current_var,'sh')
     327                        self.core.var=copy.deepcopy(self.core.current_var)
    328328                        self.thread_ret={"status":True,"msg":"SE HA ROTO"}
    329329
     
    349349                                        self.core.n4d.set_variable(self.test_exec[1])
    350350                                        self.core.var=copy.deepcopy(self.test_exec[1])
    351                                         self.current_var=copy.deepcopy(self.test_exec[1])
     351                                        self.core.current_var=copy.deepcopy(self.test_exec[1])
    352352                                else:
    353353                                        self.core.var["sh"]["url"]="http://server/llx-remote/"
     
    373373               
    374374                print "1111111"
    375                 print self.current_var
     375                print self.core.current_var
    376376                print self.core.var
    377                 if self.core.var!=self.current_var:
     377                if self.core.var!=self.core.current_var:
    378378                        print "distintos"
    379379                else:
  • lliurex-remote-installer/trunk/fuentes/lliurex-remote-installer-gui.install/usr/share/lliurex-remote-installer/LliurexRemoteInstaller.py

    r3851 r3853  
    88
    99import Core
     10import Dialog
     11import sys
    1012
    1113signal.signal(signal.SIGINT, signal.SIG_DFL)
     
    112114                self.debs_button.connect("clicked",self.debs_button_clicked)
    113115                self.exes_button.connect("clicked",self.exes_button_clicked)
     116                self.main_window.connect("delete_event",self.check_changes)
    114117               
    115118        #def connect_signals
     119       
     120        def check_changes(self,widget,event):
     121               
     122                if self.core.current_var!=None and self.core.current_var != self.core.var:
     123                        if not self.changes_detected_dialog():
     124                                return True
     125               
     126                sys.exit(0)
     127               
     128        #def check_changes
     129       
     130       
     131        def changes_detected_dialog(self):
     132               
     133               
     134                dialog=Dialog.QuestionDialog(self.main_window,"Changes detected","There are unsaved changes. Do you want to discard them?")
     135                response=dialog.run()
     136                dialog.destroy()
     137               
     138                if response== Gtk.ResponseType.OK:
     139                        return True
     140               
     141                return False
     142               
     143        #def changes_detected_dialog
     144               
     145       
    116146       
    117147        def start_gui(self):
Note: See TracChangeset for help on using the changeset viewer.