summaryrefslogtreecommitdiff
path: root/icktool
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2017-10-16 21:43:55 +0300
committerLars Wirzenius <liw@liw.fi>2017-10-16 21:43:55 +0300
commit726d37ff1b253bf18e845e0f16fb4877d53e2fa2 (patch)
tree6b8b3afd360c77a377b03ee237c4741368491722 /icktool
parent24d2e51e13a4e707f454ca1946786427044aa346 (diff)
downloadick2-726d37ff1b253bf18e845e0f16fb4877d53e2fa2.tar.gz
Add: icktool update-project
Diffstat (limited to 'icktool')
-rwxr-xr-xicktool33
1 files changed, 28 insertions, 5 deletions
diff --git a/icktool b/icktool
index 3d55db0..0a2ae36 100755
--- a/icktool
+++ b/icktool
@@ -96,9 +96,21 @@ class Icktool(cliapp.Application):
def cmd_create_project(self, args):
obj = self._read_object()
- self._prettyson(obj)
api = self._new_api()
- api.post('/projects', obj)
+ code, text = api.post('/projects', obj)
+ if code != 201:
+ sys.stderr.write('HTTP status {}\n'.format(code))
+ sys.stderr.write(text)
+ sys.exit(1)
+
+ def cmd_update_project(self, args):
+ obj = self._read_object()
+ api = self._new_api()
+ code, text = api.put('/projects/{}'.format(obj['project']), obj)
+ if code != 200:
+ sys.stderr.write('HTTP status {}\n'.format(code))
+ sys.stderr.write(text)
+ sys.exit(1)
def _new_token(self):
scopes = self.settings['scope']
@@ -161,11 +173,22 @@ class API:
full_url = '{}{}'.format(self._url, path)
headers = {
'Authorization': 'Bearer {}'.format(self._token),
- 'Content-Type': 'applicatin/json',
}
r = requests.post(
- full_url, data=obj, headers=headers, verify=self._verify)
- print(r.text)
+ full_url, json=obj, headers=headers, verify=self._verify)
+ return r.status_code, r.text
+
+ def put(self, path, obj):
+ assert self._url is not None
+ assert self._token is not None
+
+ full_url = '{}{}'.format(self._url, path)
+ headers = {
+ 'Authorization': 'Bearer {}'.format(self._token),
+ }
+ r = requests.put(
+ full_url, json=obj, headers=headers, verify=self._verify)
+ return r.status_code, r.text
class TokenGenerator: