console/SWSCloudCore/controllers/tasks/__init__.py

46 lines
1.2 KiB
Python

import json
import uuid
from SWSCloudCore import models
class ControllerTasks:
"""
"""
def __init__(self, user_id):
self.user_id = user_id
def get(self):
tasks = {
"total": models.Tasks.select().where(models.Tasks.user == self.user_id).count(),
"items": []
}
if tasks['total'] > 0:
tasks_list = models.Tasks.select().where(models.Tasks.user == self.user_id).execute()
for i in tasks_list:
tasks['items'].append({
"id": str(i.id),
"created": str(i.created),
"plain": i.plain,
"details": json.loads(i.plain)
})
return tasks
def create(self, datacenter_id, server_id, task, status, **args):
task_id = uuid.uuid4()
plain = dict()
for arg in args:
plain[arg] = str(args[arg])
models.Tasks.create(
id=task_id,
datacenter=datacenter_id,
server=server_id,
task=task,
status=status,
user=self.user_id,
plain=json.dumps(plain)
)
return True