summaryrefslogtreecommitdiffstats
path: root/testapi/testapi-client/testapiclient/client/projects.py
blob: 63d00fee967f24eea0b5167924e1f6e4d256c89e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import json

from testapiclient.client import base
from testapiclient.utils import urlparse


class ProjectsClient(base.Client):
    resource = 'projects'

    def __init__(self, **kwargs):
        super(ProjectsClient, self).__init__(**kwargs)

    def create(self, project_req):
        return self.clientmanager.post(self.url, project_req)

    def get(self, **queries):
        if queries:
            return json.dumps(
                self.clientmanager.get(
                    urlparse.query_join(self.url, **queries))['projects'])
        else:
            return json.dumps(
                self.clientmanager.get(self.url)['projects'])

    def get_one(self, name):
        return json.dumps(self.clientmanager.get(
            urlparse.path_join(self.url, name)))

    def delete(self, name):
        return self.clientmanager.delete(
            urlparse.path_join(self.url, name))

    def update(self, name, project_req):
        return self.clientmanager.put(
            urlparse.path_join(self.url, name), project_req)