MCPcopy Create free account
hub / github.com/runhey/OnmyojiAutoScript / gui_set_task

Method gui_set_task

script.py:155–190  ·  view source on GitHub ↗

设置给gui显示的任务 的参数的具体值 :return:

(self, task: str, group: str, argument: str, value)

Source from the content-addressed store, hash-verified

153 return self.config.model.gui_task(task=task)
154
155 def gui_set_task(self, task: str, group: str, argument: str, value) -> bool:
156 """
157 设置给gui显示的任务 的参数的具体值
158 :return:
159 """
160 # 验证参数
161 task = convert_to_underscore(task)
162 group = convert_to_underscore(group)
163 argument = convert_to_underscore(argument)
164 # pandtic验证
165 if isinstance(value, str):
166 if len(value) == 8:
167 try:
168 value = datetime.strptime(value, '%H:%M:%S').time()
169 except ValueError:
170 pass
171
172
173 path = f'{task}.{group}.{argument}'
174 task_object = getattr(self.config.model, task, None)
175 group_object = getattr(task_object, group, None)
176 argument_object = getattr(group_object, argument, None)
177
178 if argument_object is None:
179 logger.error(f'Set arg {task}.{group}.{argument}.{value} failed')
180 return False
181
182 try:
183 setattr(group_object, argument, value)
184 argument_object = getattr(group_object, argument, None)
185 logger.info(f'Set arg {task}.{group}.{argument}.{argument_object}')
186 self.config.save() # 我是没有想到什么方法可以使得属性改变自动保存的
187 return True
188 except ValidationError as e:
189 logger.error(e)
190 return False
191
192 @zerorpc.stream
193 def gui_mirror_image(self):

Callers

nothing calls this directly

Calls 2

convert_to_underscoreFunction · 0.90
saveMethod · 0.45

Tested by

no test coverage detected