def __apply_state(self, task, state):\r
t_id = self.__get_id(task)\r
self.cvpClientApi.add_note_to_task(t_id, "Executed by OSM")\r
+\r
if state == "executed":\r
return self.__execute_task(t_id)\r
elif state == "cancelled":\r
\r
def update_all_tasks(self, data):\r
new_data = dict()\r
+\r
for task_id in data.keys():\r
res = self.cvpClientApi.get_task_by_id(task_id)\r
new_data[task_id] = res\r
- return new_data\r
\r
- def get_pending_tasks(self):\r
- return self.cvpClientApi.get_tasks_by_status('Pending')\r
-\r
- def get_pending_tasks_old(self):\r
- taskList = []\r
- tasksField = {'workOrderId': 'workOrderId',\r
- 'workOrderState': 'workOrderState',\r
- 'currentTaskName': 'currentTaskName',\r
- 'description': 'description',\r
- 'workOrderUserDefinedStatus':\r
- 'workOrderUserDefinedStatus',\r
- 'note': 'note',\r
- 'taskStatus': 'taskStatus',\r
- 'workOrderDetails': 'workOrderDetails'}\r
- tasks = self.cvpClientApi.get_tasks_by_status('Pending')\r
- # Reduce task data to required fields\r
- for task in tasks:\r
- taskFacts = {}\r
- for field in task.keys():\r
- if field in tasksField:\r
- taskFacts[tasksField[field]] = task[field]\r
- taskList.append(taskFacts)\r
- return taskList\r
+ return new_data\r
\r
def task_action(self, tasks, wait, state):\r
changed = False\r
now = time.time()\r
while (now - start) < wait:\r
data = self.update_all_tasks(data)\r
+\r
if all([self.__terminal(self.__get_state(t)) for t in data.values()]):\r
break\r
+\r
time.sleep(1)\r
now = time.time()\r
\r
if wait:\r
for i, task in data.items():\r
if not self.__terminal(self.__get_state(task)):\r
- warnings.append("Task {} has not completed in {} seconds".\r
- format(i, wait))\r
+ warnings.append(\r
+ "Task {} has not completed in {} seconds".format(i, wait)\r
+ )\r
\r
return changed, data, warnings\r