diff options
author | Milo Casagrande <milo.casagrande@linaro.org> | 2015-01-16 11:33:26 +0100 |
---|---|---|
committer | Milo Casagrande <milo.casagrande@linaro.org> | 2015-01-16 11:33:26 +0100 |
commit | 8a1ece3657d9e3dcc1434ef6e62771e49126ab47 (patch) | |
tree | c18db64ffee768c1ec9639fae6713eb15dca0593 /app | |
parent | 31a3761a5d7aa87582c6106451a9f41bddaf7e3e (diff) |
Fix path handling.
* Remove/Add tralining/heading slashes accordingly.
Change-Id: Ifeb70b75d3b84efd7bcd1dc61fef1522e02fdfb5
Diffstat (limited to 'app')
-rw-r--r-- | app/handlers/upload.py | 32 |
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) |