Changeset 2482


Ignore:
Timestamp:
Sep 19, 2016, 6:34:05 PM (3 years ago)
Author:
kbut
Message:

a lot of thins

Location:
lliurex-mirror/trunk/fuentes
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • lliurex-mirror/trunk/fuentes/admin-center-lliurex-mirror.install/lliurex-mirror/src/js/lliurex-mirror.js

    r2437 r2482  
    394394  var credentials=[sessionStorage.username , sessionStorage.password];
    395395  var n4dclass="MirrorManager";
    396   var n4dmethod="is_mirror_update";
     396  var n4dmethod="is_update_available";
    397397  var arglist=[self.activedistro];
    398398  var mirrorupdatemessage=document.querySelector('#llxmirrorupdatepanel');
  • lliurex-mirror/trunk/fuentes/lliurex-mirror-cli/usr/bin/lliurex-mirror

    r2278 r2482  
    8787
    8888        def isMirrorUpdate(self,distro):
    89                 result = self.client.is_mirror_update(self.credentials,"MirrorManager",distro)
     89                result = self.client.is_update_available(self.credentials,"MirrorManager",distro)
    9090                print str(result['msg'])
    9191                sys.exit( 0 if result['status'] else 1 )       
  • lliurex-mirror/trunk/fuentes/n4d-lliurex-mirror.install/etc/n4d/conf.d/MirrorManager

    r2261 r2482  
    1212get_mirror_orig=anonymous,*
    1313set_mirror_orig=adm,admins
     14get_option_update=anonymous,*
     15set_option_update=adm,admins
    1416get_percentage=anonymous,*
    1517build_debmirror_config=adm,admins
     18render_debmirror_config=adm,admins
    1619enable_webserver_into_folder=adm,admins
    1720stop_webserver=adm,admins
     
    2023get_available_mirrors=anonymous,*
    2124stopupdate=adm,admins
    22 is_mirror_update=anonymous,*
     25download_time_file=adm,admins
     26get_time_file=anonymous,*
     27is_update_available=anonymous,*
     28new_mirror_config=adm,admins
     29get_all_configs=anonymous,*
     30update_mirror_config=adm,admins
     31get_client_ip=anonymous,*
     32watch_update_finish=adm,admins
     33is_alive_get_mirror=anonymous,*
     34get_mirror=adm,admins
  • lliurex-mirror/trunk/fuentes/n4d-lliurex-mirror.install/usr/share/n4d/python-plugins/MirrorManager.py

    r2437 r2482  
    313313
    314314        def set_mirror_orig(self,distro,url,option):
     315                if url == None:
     316                        return {'status':False,'msg':'url is None'}
    315317                configpath = os.path.join(self.configpath, distro + ".json")
    316318                config = json.load(open(configpath,'r'))
     
    360362
    361363        def build_debmirror_config(self,distro):
    362                 template = self.tpl_env.get_template('debmirror.conf')
    363                 configpath = os.path.join(self.configpath,distro + ".json")
    364                 config = json.load(open(configpath,'r'))
    365                 string_template = template.render(config).encode('utf-8')
     364                result = self.render_debmirror_config(distro)
     365                string_template = result['msg']
    366366                f = open(os.path.join(self.debmirrorconfpath,distro),'w')
    367367                f.write(string_template)
    368368                f.close()
    369369        #def build_debmirror_config
     370
     371        def render_debmirror_config(self,distro):
     372                template = self.tpl_env.get_template('debmirror.conf')
     373                configpath = os.path.join(self.configpath,distro + ".json")
     374                config = json.load(open(configpath,'r'))
     375                return {'status':True,'msg':template.render(config).encode('utf-8')}
     376
     377        #def render_debmirror_config
    370378       
    371379        def enable_webserver_into_folder(self,path):
     
    469477        # def get_time_file             
    470478
    471         def is_mirror_update(self,distro):
     479        def is_update_available(self,distro):
    472480
    473481                configpath = os.path.join(self.configpath,distro + ".json")
     
    513521                        return {'status':False,'msg':file_local_mirror + ' does not exist.','action':'nothing'}
    514522
    515         # def is_mirror_update
     523        # def is_update_available
    516524
    517525        def new_mirror_config(self,config):
     
    524532                if name == "":
    525533                        return {'status':False,'msg':"Name can't void"}
    526                 newconfigpath = os.path.join(self.configpath,name,'.json')
    527                 if os.path.exists(newconfigpath):
    528                         return {'status':False,'msg':'Path for %s already exists'%config["NAME"]}
     534                while True:
     535                        newconfigpath = os.path.join(self.configpath,name,'.json')
     536                        if not os.path.exists(newconfigpath):
     537                                break
     538                        name = name + "1"
    529539
    530540                data=unicode(json.dumps(config,indent=4,encoding="utf-8",ensure_ascii=False)).encode("utf-8")
     
    532542                f.write(data)
    533543                f.close()
    534                 return {'status':True,'msg':'Config has been created'}
     544                return {'status':True,'msg':name}
    535545        #def new_mirror_config
    536546
     
    557567                return {'status':True,'msg':'Updated config'}
    558568        #def update_mirror_config
     569
     570        def get_client_ip(self,ip):
     571                return {'status':True,'msg':ip}
     572        #def get_client_ip
     573
     574        def watch_update_finish(self,credentials,server):
     575                self.watch_thread=threading.Thread(target=self._update,args=(credentials,server,))
     576                self.watch_thread.daemon=True
     577                self.watch_thread.start()
     578               
     579        #def watch_update_finish
     580
     581        def _watch_update_finish(self,credentials,server)
     582                import time
     583                import xmlrpclib as x
     584                while True:
     585                        try:
     586                                time.sleep(240)
     587                                c = x.ServerProxy('https://'+ server +':9779')
     588                                result = c.is_alive(credentials,'MirrorManager')
     589                                if ! result:
     590                                        self.stop_webserver()
     591                                        break
     592                        except:
     593                                break
     594        #def _watch_update_finish
     595
     596        def is_alive_get_mirror(self):
     597                return {'status':self.get_mirror_thread.is_alive(),'msg':}
     598        #def is_alive_get_mirror
     599
     600        def get_mirror(self,config_path):
     601                self.get_mirror_thread = threading.Thread(target=self._get_mirror,args=(config_path))
     602                self.get_mirror_thread.daemon = True
     603                self.get_mirror_thread.start()
     604        #def get_mirror
     605
     606        def _get_mirror(self,config_path):
     607                self.get_mirror_process = pexpect.spawn("/usr/bin/debmirror --config-file="+config_path)
     608                while True:
     609                        try:
     610                                self.get_mirror_process.expect('\n')
     611                                line =self.get_mirror_process.before
     612                                line1=line.strip("\n")
     613                                if line1.startswith("[") and line1[5] == "]":
     614                                        self.exportpercentage = (int(line1[1:4].strip()),self.get_mirror_process.exitstatus)
     615                        except pexpect.EOF:
     616                                        line1 = self.get_mirror_process.before
     617                                        if line1 != "" and line1.startswith("[") and line1[5] == "]":
     618                                                        self.exportpercentage=(int(line1[1:4].strip()),self.get_mirror_process.exitstatus)
     619                                        self.get_mirror_process.close()
     620                                        status = self.get_mirror_process.exitstatus
     621                                        self.exportpercentage=(self.exportpercentage[0],status)
     622                                        break
     623                        except Exception as e:
     624                                break
     625        #def _get
Note: See TracChangeset for help on using the changeset viewer.