Ignore:
Timestamp:
Jun 28, 2016, 11:31:22 AM (3 years ago)
Author:
kbut
Message:

add function to stop build

File:
1 edited

Legend:

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

    r1965 r2036  
    2828                self.distro="llx16"
    2929                self.httpd = None
     30                self.debmirrorprocess = None
    3031
    3132                self.tpl_env = Environment(loader=FileSystemLoader('/usr/share/n4d/templates/lliurex-mirror'))
     
    128129                self.variable["internal"]['status_mirror'] = "Working"
    129130                self.n4d_vars.set_variable("LLIUREXMIRROR",self.variable)
    130 
     131                filelog = open('/var/log/lliurex-mirror.log','w')
    131132                self.build_debmirror_config(distro)
    132133                os.remove('/etc/debmirror.conf')
    133134                os.symlink(os.path.join(self.debmirrorconfpath,distro),'/etc/debmirror.conf')
    134                 child=pexpect.spawn("/usr/bin/debmirror")
     135                self.debmirrorprocess=pexpect.spawn("/usr/bin/debmirror")
    135136                try:
    136137                        objects["ZCenterVariables"].add_pulsating_color("lliurexmirror")
     
    139140                while True:
    140141                        try:
    141                                 child.expect('\n')
    142                                 line =child.before
    143                                 print(line)
     142                                self.debmirrorprocess.expect('\n')
     143                                line =self.debmirrorprocess.before
     144                                filelog.write(line)
    144145                                line1=line.strip("\n")
    145146                                if line1.startswith("[") and line1[5] == "]":
    146                                         self.percentage=(int(line1[1:4].strip()),child.exitstatus)
     147                                        self.percentage=(int(line1[1:4].strip()),self.debmirrorprocess.exitstatus)
    147148                        except pexpect.EOF:
    148                                         line1 = child.before
     149                                        line1 = self.debmirrorprocess.before
    149150                                        if line1 != "" and line1.startswith("[") and line1[5] == "]":
    150                                                         self.percentage=(int(line1[1:4].strip()),child.exitstatus)
    151 
    152                                         child.close()
    153                                         status = child.exitstatus
     151                                                        self.percentage=(int(line1[1:4].strip()),self.debmirrorprocess.exitstatus)
     152                                        filelog.write(line1)
     153                                        self.debmirrorprocess.close()
     154                                        status = self.debmirrorprocess.exitstatus
    154155                                        self.percentage=(self.percentage[0],status)
    155156
     
    161162                                self.n4d_vars.set_variable("LLIUREXMIRROR",self.variable)
    162163                                break
    163                                
     164                filelog.close()
    164165                self.set_mirror_info(distro)
    165166
     
    372373                versions = [ version.replace('.json','') for version in versions if version.endswith('.json')]
    373374                return {'status':True,'msg':versions}
     375
     376        def stopupdate(self):
     377                try:
     378                        self.debmirrorprocess.terminate()
     379                        return {'status':true,'msg':'debmirror stopped'}
     380                except Exception as e:
     381                        return {'status':False,'msg':str(e)}
     382
Note: See TracChangeset for help on using the changeset viewer.