diff --git a/update/utils/cmd_extcute.py b/update/utils/cmd_extcute.py index 1e7e8c3..4dc03ee 100644 --- a/update/utils/cmd_extcute.py +++ b/update/utils/cmd_extcute.py @@ -4,9 +4,9 @@ import time import paramiko import pymysql -from update.models import UpdateCommand, Cinema +from update.models import UpdateCommand, Cinema, Release from update.serializers import UpdateCommandSerializer -from django.db.models import Q +from django.db.models import Q, Model from time import sleep @@ -134,7 +134,8 @@ class UpdateConfigUtil: self.run_before_teardown = run_before_teardown def exec_config(self, short_release): - cmd_list = self.get_all_exec_cmd() + main_ver = Release.objects.filter(short_release=short_release).all()[0].main_ver + cmd_list = self.get_all_exec_cmd(main_ver) 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'], database='cine') @@ -158,16 +159,18 @@ class UpdateConfigUtil: db_conn.close() return '
'.join(result_list) - def get_all_exec_cmd(self): + def get_all_exec_cmd(self, param): 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'].replace('', param), "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'].replace('', param), "combo_cmd": config_item['combo_cmd']}) return cmd_list