|  |  |  | @ -47,12 +47,12 @@ class UpdateCommandUtil: | 
			
		
	
		
			
				
					|  |  |  |  |         return self.model.objects.filter(Q(is_delete=False) & Q(is_sys=False) & Q(process='client')).order_by( | 
			
		
	
		
			
				
					|  |  |  |  |             'id').all() | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     def get_checked_cmd(self, cmd_list): | 
			
		
	
		
			
				
					|  |  |  |  |     def get_checked_cmd(self, cmd_list, is_delete='0'): | 
			
		
	
		
			
				
					|  |  |  |  |         sys_result = self.get_sys_cmd() | 
			
		
	
		
			
				
					|  |  |  |  |         checked_setup_result = self.model.objects.filter( | 
			
		
	
		
			
				
					|  |  |  |  |             Q(is_delete='0') & Q(id__in=cmd_list) & Q(process='setup')).order_by('run_num').all() | 
			
		
	
		
			
				
					|  |  |  |  |             Q(is_delete=is_delete) & Q(id__in=cmd_list) & Q(process='setup')).order_by('run_num').all() | 
			
		
	
		
			
				
					|  |  |  |  |         checked_teardown_result = self.model.objects.filter( | 
			
		
	
		
			
				
					|  |  |  |  |             Q(is_delete='0') & Q(id__in=cmd_list) & Q(process='teardown')).order_by('run_num').all() | 
			
		
	
		
			
				
					|  |  |  |  |             Q(is_delete=is_delete) & Q(id__in=cmd_list) & Q(process='teardown')).order_by('run_num').all() | 
			
		
	
		
			
				
					|  |  |  |  |         sys_cmd = [{'desc': sys.desc, 'cmd': sys.command} for sys in sys_result] | 
			
		
	
		
			
				
					|  |  |  |  |         checked_setup_cmd = [{'desc': setup.desc, 'cmd': setup.command} for setup in checked_setup_result] | 
			
		
	
		
			
				
					|  |  |  |  |         checked_teardown_cmd = [{'desc': teardown.desc, 'cmd': teardown.command} for teardown in | 
			
		
	
	
		
			
				
					|  |  |  | @ -94,10 +94,10 @@ class UpdateCommandUtil: | 
			
		
	
		
			
				
					|  |  |  |  |         print('输出结果:', exec_output) | 
			
		
	
		
			
				
					|  |  |  |  |         return True, '<br/>'.join(exec_output) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     def exec_cmd_by_type(self, cinema_ip, _type, cmd_list, short_release): | 
			
		
	
		
			
				
					|  |  |  |  |     def exec_cmd_by_type(self, cinema_ip, _type, cmd_list, short_release, is_delete='0'): | 
			
		
	
		
			
				
					|  |  |  |  |         print('需要执行的命令列表:', cmd_list) | 
			
		
	
		
			
				
					|  |  |  |  |         exec_cmd_list = [] | 
			
		
	
		
			
				
					|  |  |  |  |         exec_cmd_data = self.get_checked_cmd(cmd_list) | 
			
		
	
		
			
				
					|  |  |  |  |         exec_cmd_data = self.get_checked_cmd(cmd_list, is_delete) | 
			
		
	
		
			
				
					|  |  |  |  |         if _type == 'setup': | 
			
		
	
		
			
				
					|  |  |  |  |             cmds = exec_cmd_data['sys'] + exec_cmd_data['setup'] | 
			
		
	
		
			
				
					|  |  |  |  |         elif _type == 'teardown': | 
			
		
	
	
		
			
				
					|  |  |  | @ -124,7 +124,7 @@ class UpdateConfigUtil: | 
			
		
	
		
			
				
					|  |  |  |  |         self.checked_list = checked_list | 
			
		
	
		
			
				
					|  |  |  |  |         self.run_before_teardown = run_before_teardown | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     def exec_config(self): | 
			
		
	
		
			
				
					|  |  |  |  |     def exec_config(self, short_release): | 
			
		
	
		
			
				
					|  |  |  |  |         cmd_list = self.get_all_exec_cmd() | 
			
		
	
		
			
				
					|  |  |  |  |         db_config = Cinema.objects.filter(ip=self.ip).values()[0] | 
			
		
	
		
			
				
					|  |  |  |  |         db_conn = pymysql.Connect(host=self.ip, port=3306, user=db_config['db_user'], passwd=db_config['db_pwd'], | 
			
		
	
	
		
			
				
					|  |  |  | @ -138,6 +138,13 @@ class UpdateConfigUtil: | 
			
		
	
		
			
				
					|  |  |  |  |                 print("执行子命令: ", cmds['desc'], cmd, '结果:', '执行失败(设置无需修改)' if r == 0 else '执行成功') | 
			
		
	
		
			
				
					|  |  |  |  |                 result_list.append(cmds['desc'] + (':执行失败(设置无需修改)' if r == 0 else ':执行成功')) | 
			
		
	
		
			
				
					|  |  |  |  |                 db_conn.commit() | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |                 if cmds['combo_cmd'] != 0: | 
			
		
	
		
			
				
					|  |  |  |  |                     update_cmd = UpdateCommandUtil() | 
			
		
	
		
			
				
					|  |  |  |  |                     result, setup_output = update_cmd.exec_cmd_by_type(self.ip, 'setup', [cmds['combo_cmd']], | 
			
		
	
		
			
				
					|  |  |  |  |                                                                        short_release, is_delete='1') | 
			
		
	
		
			
				
					|  |  |  |  |                     print('执行关联命令:', setup_output) | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         db_cursor.close() | 
			
		
	
		
			
				
					|  |  |  |  |         db_conn.close() | 
			
		
	
		
			
				
					|  |  |  |  |         return '<br/>'.join(result_list) | 
			
		
	
	
		
			
				
					|  |  |  | @ -146,9 +153,12 @@ class UpdateConfigUtil: | 
			
		
	
		
			
				
					|  |  |  |  |         all_config_obj = UpdateCommand.objects.filter( | 
			
		
	
		
			
				
					|  |  |  |  |             Q(process='config') & Q(run=self.run_before_teardown) & Q(is_delete=False)).values() | 
			
		
	
		
			
				
					|  |  |  |  |         cmd_list = [] | 
			
		
	
		
			
				
					|  |  |  |  |         print(all_config_obj) | 
			
		
	
		
			
				
					|  |  |  |  |         for config_item in all_config_obj: | 
			
		
	
		
			
				
					|  |  |  |  |             if config_item['id'] in self.checked_list: | 
			
		
	
		
			
				
					|  |  |  |  |                 cmd_list.append({"desc": config_item['desc'], "cmd": json.loads(config_item['command'])['checked']}) | 
			
		
	
		
			
				
					|  |  |  |  |                 cmd_list.append({"desc": config_item['desc'], "cmd": json.loads(config_item['command'])['checked'], | 
			
		
	
		
			
				
					|  |  |  |  |                                  "combo_cmd": config_item['combo_cmd']}) | 
			
		
	
		
			
				
					|  |  |  |  |             else: | 
			
		
	
		
			
				
					|  |  |  |  |                 cmd_list.append({"desc": config_item['desc'], "cmd": json.loads(config_item['command'])['unchecked']}) | 
			
		
	
		
			
				
					|  |  |  |  |                 cmd_list.append({"desc": config_item['desc'], "cmd": json.loads(config_item['command'])['unchecked'], | 
			
		
	
		
			
				
					|  |  |  |  |                                  "combo_cmd": config_item['combo_cmd']}) | 
			
		
	
		
			
				
					|  |  |  |  |         return cmd_list | 
			
		
	
	
		
			
				
					|  |  |  | 
 |