Changeset 2509
- Timestamp:
- Sep 22, 2016, 1:37:17 PM (4 years ago)
- Location:
- lliurex-mirror/trunk/fuentes
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
lliurex-mirror/trunk/fuentes/lliurex-mirror-gui/lliurex_mirror_connect.py
r2489 r2509 3 3 class LliurexMirrorN4d: 4 4 def __init__(self,server,credentials): 5 self.mode = None 5 6 self.client = None 6 7 self.serverip = server … … 13 14 14 15 def connect(self,server): 15 self.client = xmlrpclib.ServerProxy('https://' + server + ':9779' )16 self.client = xmlrpclib.ServerProxy('https://' + server + ':9779',allow_none=True) 16 17 self.serverip = server 17 18 try: … … 24 25 25 26 def local_connect(self): 26 self. client = xmlrpclib.ServerProxy('https://localhost:9779',allow_none=True)27 self.localclient = xmlrpclib.ServerProxy('https://localhost:9779',allow_none=True) 27 28 try: 28 self. client.get_methods()29 self.localclient.get_methods() 29 30 except: 30 self. client = None31 self.localclient = None 31 32 return False 32 33 return True … … 59 60 def save_config(self,mirror,config): 60 61 result = self.client.update_mirror_config(self.credentials,'MirrorManager',mirror,config) 61 return result ['status']62 return result 62 63 #def save_config 63 64 64 65 def create_conf(self,config): 65 if self.client== None:66 if type(self.client) == None: 66 67 return {} 67 68 result = self.client.new_mirror_config(self.credentials,'MirrorManager',config) 68 69 if result['status']: 69 70 return result['msg'] 70 return None71 return result 71 72 #def create_conf 72 73 … … 80 81 self.mode = 2 81 82 result = self.client.get_client_ip('','MirrorManager','') 83 print result 82 84 tempserver = result['msg'] 83 85 result = self.localclient.enable_webserver_into_folder(self.localcredentials,'MirrorManager',data) 84 tempserver = tempserver + ":" + result['msg'] 85 data = 'http://'+tempserver 86 tempserver = str(tempserver) + ":" + str(result['msg']) 87 data = tempserver 88 print data 86 89 self.localclient.watch_update_finish(self.localcredentials,'MirrorManager',self.credentials,self.serverip) 87 90 if data != None: 88 self. set_mirror_orig(self.credentials,'MirrorManager',mirror,data,mode)91 self.client.set_mirror_orig(self.credentials,'MirrorManager',mirror,data,mode) 89 92 self.client.set_option_update(self.credentials,'MirrorManager',mirror,mode) 90 result = update(self.credentials,'MirrorManager',mirror)93 result = self.client.update(self.credentials,'MirrorManager',mirror) 91 94 return result['status'] 92 95 #def update … … 94 97 def export(self, mirror,folder): 95 98 import tempfile 96 result = self.client.render_debmirror_config(self.credentials,'MirrorManager',mirror) 99 result = self.client.get_all_configs(self.credentials,'MirrorManager') 100 config = result['msg'][mirror] 101 config['MIRROR_PATH'] = folder 102 result = self.client.render_debmirror_config(self.credentials,'MirrorManager',config) 97 103 temp_file = tempfile.mktemp() 98 104 f = open(temp_file,'w') … … 100 106 f.close() 101 107 self.localclient.get_mirror(self.localcredentials,'MirrorManager',temp_file) 108 return True 102 109 #def export 103 110 … … 133 140 if __name__ == '__main__': 134 141 c = LliurexMirrorN4d('localhost',['kbut','lliurex']) 135 print c.mirror_list() 142 config = {'IGN_GPG': 1, 'NAME': 'LliureX Xenial', 'ORIGS': {'1': 'lliurex.net/xenial', '3': '172.20.8.6/mirror/lliurex', '2': ''}, 'SECTIONS': ['main', 'main/debian-installer', 'universe', 'restricted', 'multiverse', 'partner'], 'MIRROR_PATH': '/net/mirror/llx16', 'ARCHITECTURES': ['amd64', 'i386'], 'CHK_MD5': 0, 'IGN_RELEASE': 0, 'BANNER': '', 'CURRENT_UPDATE_OPTION': '3', 'DISTROS': ['xenial', 'xenial-updates', 'xenial-security']} 143 #print c.save_config('llx16',config) 144 #print c.update('llx16','3','172.20.8.6/mirror/lliurex') 145 #print c.update('llx16','2','/net/mirror/lugar') 146 #print c.update('llx16','3') 147 #print c.mirror_list() 148 #print c.export('llx16','/net/miexportacion') 149 print c.is_alive_export() 150 #print c.get_percentage('llx16') 151 #print c.is_alive() 152 #print c.stop_update() -
lliurex-mirror/trunk/fuentes/n4d-lliurex-mirror.install/etc/n4d/conf.d/MirrorManager
r2482 r2509 29 29 get_all_configs=anonymous,* 30 30 update_mirror_config=adm,admins 31 get_client_ip=anonymous,*31 (ip)get_client_ip=anonymous,* 32 32 watch_update_finish=adm,admins 33 33 is_alive_get_mirror=anonymous,* -
lliurex-mirror/trunk/fuentes/n4d-lliurex-mirror.install/usr/share/n4d/python-plugins/MirrorManager.py
r2489 r2509 361 361 #def get_percentage 362 362 363 363 364 def build_debmirror_config(self,distro): 364 365 result = self.render_debmirror_config(distro) … … 369 370 #def build_debmirror_config 370 371 371 def render_debmirror_config(self,distro): 372 def render_debmirror_config(self,arg): 373 if type(arg) == type(""): 374 return self._render_debmirror_config_distro(arg) 375 if type(arg) == type({}): 376 return self._render_debmirror_config_values(arg) 377 #def render_debmirror_config 378 379 def _render_debmirror_config_distro(self,distro): 372 380 template = self.tpl_env.get_template('debmirror.conf') 373 381 configpath = os.path.join(self.configpath,distro + ".json") 374 382 config = json.load(open(configpath,'r')) 375 383 return {'status':True,'msg':template.render(config).encode('utf-8')} 376 377 384 #def render_debmirror_config 378 385 386 def _render_debmirror_config_values(self,config): 387 template = self.tpl_env.get_template('debmirror.conf') 388 return {'status':True,'msg':template.render(config).encode('utf-8')} 389 #def _render_debmirror_config_values 390 379 391 def enable_webserver_into_folder(self,path): 380 392 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) … … 481 493 configpath = os.path.join(self.configpath,distro + ".json") 482 494 config = json.load(open(configpath,'r')) 483 path =config["MIRROR_PATH"]484 file_time_name ="time-of-last-update"485 file_local_mirror =os.path.join(path,file_time_name)495 path = config["MIRROR_PATH"] 496 file_time_name = "time-of-last-update" 497 file_local_mirror = os.path.join(path,file_time_name) 486 498 487 499 488 500 if os.path.isfile(file_local_mirror): 489 url_pool ="http://"+os.path.join(config["ORIGS"]['1'],file_time_name)490 file_pool =os.path.join("/tmp",file_time_name)491 492 exist_file_pool =self.get_time_file(url_pool,file_pool)501 url_pool = "http://"+os.path.join(config["ORIGS"]['1'],file_time_name) 502 file_pool = os.path.join("/tmp",file_time_name) 503 504 exist_file_pool = self.get_time_file(url_pool,file_pool) 493 505 if exist_file_pool['status']: 494 506 file_local_mirror_content=open(file_local_mirror,"r") … … 533 545 return {'status':False,'msg':"Name can't void"} 534 546 while True: 535 newconfigpath = os.path.join(self.configpath,name ,'.json')547 newconfigpath = os.path.join(self.configpath,name + '.json') 536 548 if not os.path.exists(newconfigpath): 537 549 break … … 542 554 f.write(data) 543 555 f.close() 556 self.variable[name] = self.defaultmirrorinfo 544 557 return {'status':True,'msg':name} 545 558 #def new_mirror_config … … 557 570 558 571 def update_mirror_config(self,mirror,config): 559 configpath = os.path.join(self.configpath, distro+ ".json")572 configpath = os.path.join(self.configpath,mirror + ".json") 560 573 561 574 f=open(configpath,"w")
Note: See TracChangeset
for help on using the changeset viewer.