update link to upper-constraints.txt
[vfc/nfvo/lcm.git] / lcm / jobs / job_get.py
index 4619f62..57fb016 100644 (file)
@@ -14,6 +14,9 @@
 import logging
 
 from lcm.pub.utils.jobutil import JobUtil
+from lcm.pub.utils.values import remove_none_key
+from lcm.jobs.api_model import JobQueryResp, JobDescriptor, JobHistory
+
 
 logger = logging.getLogger(__name__)
 
@@ -24,23 +27,28 @@ class GetJobInfoService(object):
         self.response_id = response_id if response_id else 0
 
     def do_biz(self):
-        logger.debug("[getjob]job_id=%s, response_id=%s", self.job_id, self.response_id)
+        logger.debug("GetJobInfoService, job_id=%s, response_id=%s", self.job_id, self.response_id)
         jobs = JobUtil.query_job_status(self.job_id, self.response_id)
         if not jobs:
-            return {"jobId": self.job_id}
-        ret = {
-            "jobId": self.job_id,
-            "responseDescriptor": {
-                "status": jobs[0].status,
-                "progress": jobs[0].progress,
-                "statusDescription": jobs[0].descp,
-                "errorCode": jobs[0].errcode,
-                "responseId": jobs[0].indexid,
-                "responseHistoryList": [
-                    {
-                        "status": job.status,
-                        "progress": job.progress,
-                        "statusDescription": job.descp,
-                        "errorCode": job.errcode,
-                        "responseId": job.indexid} for job in jobs[1:]]}}
-        return ret
+            job_query_resp = JobQueryResp(self.job_id)
+            return remove_none_key(job_query_resp.to_dict())
+        job_query_resp = JobQueryResp(
+            self.job_id,
+            JobDescriptor(
+                jobs[0].status,
+                jobs[0].progress,
+                jobs[0].descp,
+                jobs[0].errcode,
+                jobs[0].indexid,
+                [
+                    JobHistory(
+                        job.status,
+                        job.progress,
+                        job.descp,
+                        job.errcode,
+                        job.indexid
+                    ) for job in jobs[1:]
+                ]
+            )
+        )
+        return remove_none_key(job_query_resp.to_dict())