aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorMilo Casagrande <milo.casagrande@linaro.org>2015-01-16 11:33:26 +0100
committerMilo Casagrande <milo.casagrande@linaro.org>2015-01-16 11:33:26 +0100
commit8a1ece3657d9e3dcc1434ef6e62771e49126ab47 (patch)
treec18db64ffee768c1ec9639fae6713eb15dca0593 /app
parent31a3761a5d7aa87582c6106451a9f41bddaf7e3e (diff)
Fix path handling.
* Remove/Add tralining/heading slashes accordingly. Change-Id: Ifeb70b75d3b84efd7bcd1dc61fef1522e02fdfb5
Diffstat (limited to 'app')
-rw-r--r--app/handlers/upload.py32
1 files changed, 18 insertions, 14 deletions
diff --git a/app/handlers/upload.py b/app/handlers/upload.py
index 6a24c2d..62cb89f 100644
--- a/app/handlers/upload.py
+++ b/app/handlers/upload.py
@@ -103,21 +103,23 @@ class UploadHandler(hbase.BaseHandler):
ex.status_code)
response.reason = ex.log_message
- # path is a dir, treat it like that.
- if path and not path.endswith("/"):
- path += "/"
-
- if path and utils.upload.is_valid_dir_path(path):
- ret_val, reason = \
- utils.upload.check_or_create_upload_dir(path)
- if ret_val == 200:
- response = self._save_files(path)
+ if path:
+ if not path.endswith("/"):
+ path += "/"
+ if path.startswith("/"):
+ path = path[1:]
+
+ if utils.upload.is_valid_dir_path(path):
+ ret_val, reason = \
+ utils.upload.check_or_create_upload_dir(path)
+ if ret_val == 200:
+ response = self._save_files(path)
+ else:
+ response = hresponse.HandlerResponse(ret_val)
+ response.reason = reason
else:
- response = hresponse.HandlerResponse(ret_val)
- response.reason = reason
- else:
- response = hresponse.HandlerResponse(400)
- response.reason = "Provided path is not a directory"
+ response = hresponse.HandlerResponse(400)
+ response.reason = "Provided path is not a directory"
else:
response = hresponse.HandlerResponse(valid_request)
response.reason = (
@@ -141,6 +143,8 @@ class UploadHandler(hbase.BaseHandler):
# Path points to a file, treat it like that.
if path.endswith("/"):
path = path[:-1]
+ if path.startswith("/"):
+ path = path[1:]
filename = os.path.basename(path)
dir_path = os.path.dirname(path)