Add API(V2) to get certain project info 51/37751/1
authorchenjiankun <chenjiankun1@huawei.com>
Wed, 19 Jul 2017 08:02:40 +0000 (08:02 +0000)
committerchenjiankun <chenjiankun1@huawei.com>
Wed, 19 Jul 2017 08:02:40 +0000 (08:02 +0000)
JIRA: YARDSTICK-733

API: /api/v2/yardstick/projects/<project_id>
METHOD: GET

Change-Id: I20a615af96229aefac6ef86566a7b9c5d42f9633
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
api/resources/v2/projects.py

index 1c3c76b..7d51cf0 100644 (file)
@@ -42,3 +42,24 @@ class V2Projects(ApiResource):
         project_handler.insert(project_init_data)
 
         return result_handler(consts.API_SUCCESS, {'uuid': project_id})
+
+
+class V2Project(ApiResource):
+
+    def get(self, project_id):
+        try:
+            uuid.UUID(project_id)
+        except ValueError:
+            return result_handler(consts.API_ERROR, 'invalid project id')
+
+        project_handler = V2ProjectHandler()
+        try:
+            project = project_handler.get_by_uuid(project_id)
+        except ValueError:
+            return result_handler(consts.API_ERROR, 'no such project id')
+
+        project_info = change_obj_to_dict(project)
+        tasks = project_info['tasks']
+        project_info['tasks'] = tasks.split(',') if tasks else []
+
+        return result_handler(consts.API_SUCCESS, {'project': project_info})