summaryrefslogtreecommitdiff
path: root/web-server/opendc/util/path_parser.py
diff options
context:
space:
mode:
authorjc0b <j@jc0b.computer>2020-07-21 21:22:44 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-08-24 19:48:14 +0200
commit67b6ec800df8e023efadb60ae5f7919030b19789 (patch)
tree9aa496408a4097857b6a032b84dd0a396321e1d3 /web-server/opendc/util/path_parser.py
parent5b4ab37ac7be2b2c34e2fad928b0cd7f3a837263 (diff)
parent04686bf5cef4aea51fd613a158aa8b155763d0e7 (diff)
Merge branch 'master' onto local working copy
Preserve working copy while updating
Diffstat (limited to 'web-server/opendc/util/path_parser.py')
-rw-r--r--web-server/opendc/util/path_parser.py39
1 files changed, 0 insertions, 39 deletions
diff --git a/web-server/opendc/util/path_parser.py b/web-server/opendc/util/path_parser.py
deleted file mode 100644
index a8bbdeba..00000000
--- a/web-server/opendc/util/path_parser.py
+++ /dev/null
@@ -1,39 +0,0 @@
-import json
-import os
-
-
-def parse(version, endpoint_path):
- """Map an HTTP endpoint path to an API path"""
-
- # Get possible paths
- with open(os.path.join(os.path.dirname(__file__), '..', 'api', '{}', 'paths.json').format(version)) as paths_file:
- paths = json.load(paths_file)
-
- # Find API path that matches endpoint_path
- endpoint_path_parts = endpoint_path.strip('/').split('/')
- paths_parts = [x.strip('/').split('/') for x in paths if len(x.strip('/').split('/')) == len(endpoint_path_parts)]
- path = None
-
- for path_parts in paths_parts:
- found = True
- for (endpoint_part, part) in zip(endpoint_path_parts, path_parts):
- if not part.startswith('{') and endpoint_part != part:
- found = False
- break
- if found:
- path = path_parts
-
- if path is None:
- return None
-
- # Extract path parameters
- parameters = {}
-
- for (name, value) in zip(path, endpoint_path_parts):
- if name.startswith('{'):
- try:
- parameters[name.strip('{}')] = int(value)
- except:
- parameters[name.strip('{}')] = value
-
- return '{}/{}'.format(version, '/'.join(path)), parameters