summaryrefslogtreecommitdiff
path: root/ick2
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2018-07-23 15:54:14 +0300
committerLars Wirzenius <liw@liw.fi>2018-07-23 15:54:14 +0300
commit12e22b32e6023e06769761788738cd6dc5a9cea3 (patch)
treee6271afa501a88aaa184d1eb7198881a6881877b /ick2
parentcd94b9bb79ef7793ee0e828d04774607621eca3e (diff)
downloadick2-12e22b32e6023e06769761788738cd6dc5a9cea3.tar.gz
Change: allow projects, pipelines, etc, have a foo/bar/baz syntax
Diffstat (limited to 'ick2')
-rw-r--r--ick2/apibase.py7
-rw-r--r--ick2/projectapi.py4
2 files changed, 5 insertions, 6 deletions
diff --git a/ick2/apibase.py b/ick2/apibase.py
index 9e3eaff..b629f68 100644
--- a/ick2/apibase.py
+++ b/ick2/apibase.py
@@ -23,6 +23,7 @@ class APIbase:
self._trans = ick2.TransactionalState(state)
def get_routes(self, path):
+ resource_path = '{}/<name:re:[^/+][^/]*?(/[^/+][^/]*?)*>'.format(path)
return [
{
'method': 'POST',
@@ -36,17 +37,17 @@ class APIbase:
},
{
'method': 'GET',
- 'path': '{}/<name>'.format(path),
+ 'path': resource_path,
'callback': self.GET(self.show),
},
{
'method': 'PUT',
- 'path': '{}/<name>'.format(path),
+ 'path': resource_path,
'callback': self.PUT(self.update),
},
{
'method': 'DELETE',
- 'path': '{}/<name>'.format(path),
+ 'path': resource_path,
'callback': self.DELETE(self.delete),
},
]
diff --git a/ick2/projectapi.py b/ick2/projectapi.py
index f351e8d..90197ae 100644
--- a/ick2/projectapi.py
+++ b/ick2/projectapi.py
@@ -39,9 +39,7 @@ class ProjectAPI(ick2.ResourceApiBase):
return super().get_routes(path) + self.get_status_routes(path)
def get_status_routes(self, path): # pragma: no cover
- all_statuses_path = '/status'
- status_path = '{}/<project>/status'.format(path)
- trigger_path = '{}/<project>/+trigger'.format(path)
+ trigger_path = '{}/<project:path>/+trigger'.format(path)
return [
{
'needs-authorization': False,