def post(self, submission_gus, *args): """ Parameter: submission_gus Request: Unknown Response: Unknown Errors: SubmissionGusNotFound, SubmissionConcluded POST in fileHandlers need to be refactored-engineered """ submission_iface = Submission() try: submission_desc = yield submission_iface.get_single(submission_gus) if submission_desc['finalize']: raise SubmissionConcluded results = [] # XXX will this ever be bigger than 1? file_array, files = self.request.files.popitem() for file in files: start_time = time.time() file_request = { 'filename' : file.get('filename'), 'content_type' : file.get('content_type'), 'file_size' : len(file['body']), 'submission_gus' : submission_gus, 'context_gus' : submission_desc['context_gus'], 'description' : '' } print "file_request", file_request, "\n" file_iface = File() file_desc = yield file_iface.new(file_request) log.debug("Created file from %s with file_gus %s" % (file_request['filename'], file_desc['file_gus'] )) result = self.process_file(file, submission_gus, file_desc['file_gus']) result['elapsed_time'] = time.time() - start_time results.append(result) response = json.dumps(results, separators=(',',':')) if 'application/json' in self.request.headers.get('Accept'): self.set_header('Content-Type', 'application/json') self.set_status(200) self.write(response) except InvalidInputFormat, e: self.set_status(e.http_status) self.write({'error_message': e.error_message, 'error_code' : e.error_message})
def new_files(self, submission_gus, request): store = self.getStore() submission_desc = Submission(store).get_single(submission_gus) if submission_desc['finalize']: raise SubmissionConcluded result_list = [] file_array, files = request.files.popitem() for single_file in files: start_time = time.time() file_request = { 'filename' : single_file.get('filename'), 'content_type' : single_file.get('content_type'), 'file_size' : len(single_file['body']), 'submission_gus' : submission_gus, 'context_gus' : submission_desc['context_gus'], 'description' : '' } file_iface = File(store) file_desc = file_iface.new(file_request) print "Created file from %s with file_gus %s" % (file_request['filename'], file_desc['file_gus']) result = self._dump_file(single_file, submission_gus, file_desc['file_gus']) result['elapsed_time'] = time.time() - start_time result_list.append(result) self.returnData(result_list) self.returnCode(200) return self.prepareRetVals()