|
10 | 10 | import os |
11 | 11 | from os.path import join as pjoin |
12 | 12 | import uuid |
| 13 | +import base64 |
13 | 14 |
|
14 | 15 |
|
15 | 16 | class DatasetHandler(BaseHandler): |
16 | 17 | @auth_or_token |
17 | 18 | def post(self): |
18 | | - if not 'tarFile' in self.request.files: |
| 19 | + data = self.get_json() |
| 20 | + if not 'tarFile' in data: |
19 | 21 | return self.error('No tar file uploaded') |
20 | 22 |
|
21 | | - zipfile = self.request.files['tarFile'][0] |
| 23 | + zipfile = data['tarFile'] |
22 | 24 |
|
23 | | - if zipfile.filename == '': |
| 25 | + if zipfile['name'] == '': |
24 | 26 | return self.error('Empty tar file uploaded') |
25 | 27 |
|
26 | | - dataset_name = self.get_argument('datasetName') |
27 | | - project_id = self.get_argument('projectID') |
| 28 | + dataset_name = data['datasetName'] |
| 29 | + project_id = data['projectID'] |
28 | 30 |
|
29 | 31 | zipfile_name = (str(uuid.uuid4()) + "_" + |
30 | | - util.secure_filename(zipfile.filename)) |
| 32 | + util.secure_filename(zipfile['name'])) |
31 | 33 | zipfile_path = pjoin(self.cfg['paths:upload_folder'], zipfile_name) |
32 | 34 |
|
33 | 35 | with open(zipfile_path, 'wb') as f: |
34 | | - f.write(zipfile['body']) |
| 36 | + f.write(base64.b64decode( |
| 37 | + zipfile['body'].replace('data:application/gzip;base64,', ''))) |
35 | 38 |
|
36 | 39 | # Header file is optional for unlabled data w/o metafeatures |
37 | | - if 'headerFile' in self.request.files: |
38 | | - headerfile = self.request.files['headerFile'][0] |
| 40 | + if 'headerFile' in data: |
| 41 | + headerfile = data['headerFile'] |
39 | 42 | headerfile_name = (str(uuid.uuid4()) + "_" + |
40 | | - util.secure_filename(headerfile.filename)) |
| 43 | + util.secure_filename(headerfile['name'])) |
41 | 44 | headerfile_path = pjoin(self.cfg['paths:upload_folder'], headerfile_name) |
42 | 45 |
|
43 | | - with open(headerfile_path, 'wb') as f: |
| 46 | + with open(headerfile_path, 'w') as f: |
44 | 47 | f.write(headerfile['body']) |
45 | 48 |
|
46 | 49 | else: |
|
0 commit comments