Changeset 2043


Ignore:
Timestamp:
Jun 28, 2016, 11:53:32 PM (3 years ago)
Author:
kbut
Message:

add variables with info into n4d vars

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lliurex-mirror/trunk/fuentes/n4d-lliurex-mirror.install/usr/share/n4d/python-plugins/MirrorManager.py

    r2042 r2043  
    3434                self.percentage=(0,None)
    3535                self.webserverprocess = None
     36                self.defaultmirrorinfo = {"status_mirror":"Ok","last_mirror_date":None,"mirror_size":0,"progress":0}
    3637               
    3738        #def init
     
    4445                if self.variable==None:
    4546                        try:
    46                                 self.n4d_vars.add_variable("LLIUREXMIRROR",{"internal":{}},"","Lliurex Mirror info variable","n4d-lliurex-mirror")
     47                                self.n4d_vars.add_variable("LLIUREXMIRROR",{},"","Lliurex Mirror info variable","n4d-lliurex-mirror")
    4748                        except Exception as e:
    4849                                pass
     
    5051                if type(self.variable)!=type({}):
    5152                        self.variable={}
    52                         self.variable["internal"]={}
    53                
    54                 if self.variable["internal"].has_key("status_mirror") and self.variable["internal"]["status_mirror"] == "Working":
    55                         if not self.update_thread.isAlive():
    56                                 self.variable["internal"]['status_mirror'] = "Error"
    57                                 self.n4d_vars.set_variable("LLIUREXMIRROR",self.variable)
    58 
     53               
     54                try:
     55                        for repo in self.get_available_mirrors()['msg']:
     56                                if self.variable.has_key(repo) and self.variable[repo].has_key("status_mirror") and self.variable[repo]["status_mirror"] == "Working":
     57                                        if not self.update_thread.isAlive():
     58                                                self.variable[repo]["status_mirror"] = "Error"
     59                                                self.n4d_vars.set_variable("LLIUREXMIRROR",self.variable)
     60                except Exception as e:
     61                        pass
    5962        #def startup
    6063
     
    125128       
    126129        def _update(self,distro):
    127 
     130                if not self.variable.has_key(distro):
     131                        self.variable[distro]=self.defaultmirrorinfo
    128132                # link config debmirror to correct path with distro name
    129                 self.variable["internal"]['status_mirror'] = "Working"
     133                self.variable[distro]['status_mirror'] = "Working"
    130134                self.n4d_vars.set_variable("LLIUREXMIRROR",self.variable)
    131135                filelog = open('/var/log/lliurex-mirror.log','w')
     
    155159                                        self.percentage=(self.percentage[0],status)
    156160
    157                                         self.variable["internal"]['status_mirror'] = "Ok" if status == 0 else "Error"
     161                                        self.variable[distro]['status_mirror'] = "Ok" if status == 0 else "Error"
    158162                                        self.n4d_vars.set_variable("LLIUREXMIRROR",self.variable)
    159163                                        break
    160164                        except Exception as e:
    161                                 self.variable["internal"]['status_mirror'] = "Error"
     165                                self.variable[distro]['status_mirror'] = "Error"
    162166                                self.n4d_vars.set_variable("LLIUREXMIRROR",self.variable)
    163167                                break
     
    192196                MIRROR_SIZE=self.get_size(mirrorpath)
    193197               
    194                 self.variable["internal"]["last_mirror_date"]=MIRROR_DATE
    195                 self.variable["internal"]["mirror_size"]=str(MIRROR_SIZE)
    196                 self.variable["internal"]["progress"]=self.percentage[0]
     198                self.variable[distro]["last_mirror_date"]=MIRROR_DATE
     199                self.variable[distro]["mirror_size"]=str(MIRROR_SIZE)
     200                self.variable[distro]["progress"]=self.percentage[0]
    197201               
    198202                print self.n4d_vars.set_variable("LLIUREXMIRROR",self.variable)
     
    299303        #def set_mirror_architecture
    300304
    301         def get_percentage(self):
    302                 if not self.is_alive():
    303                         return {'status':True,'msg':self.variable['internal']['progress']};
    304                 return {'status':True,'msg':self.percentage}
     305        def get_percentage(self,distro):
     306                if self.variable.has_key(distro):
     307                        return {'status':True,'msg':self.variable[distro]['progress']}
     308                else:
     309                        return {'status':False,'msg':'this repo nos has been configured'}
    305310
    306311        def build_debmirror_config(self,distro):
Note: See TracChangeset for help on using the changeset viewer.