out.write('0\n') out.close() except locket.LockError: return HTTP(102, "Conversion to NexSON still running") if output in ['nexson', 'ot:nexson']: response.view = 'generic.json' nex = json.load(codecs.open(NEXSON_FILEPATH, 'rU', encoding='utf-8')) num_trees = count_num_trees(nex, NEXSON_VERSION) r = {'data': nex} bundle_properties = json.load( codecs.open(RETURN_ATT_FILEPATH, 'rU', encoding='utf-8')) try: dd = bundle_properties.get('dataDeposit') if dd: n = nex.get('nex:nexml') or nex['nex'] add_resource_meta(n, "ot:dataDeposit", dd, NEXSON_VERSION) except: pass r.update(bundle_properties) r['numberOfTrees'] = num_trees r['nexml2json'] = NEXSON_VERSION read_inp_format = bundle_properties.get('inputFormat', '') read_filename = bundle_properties.get('filename', '') # Since import was successful, we should copy the original data to a file in the supporting-files area if request.vars.file is not None: file_data = request.vars.file.file else: # mimic the expected upload file field by coercing pasted text to a file-like object import StringIO file_data = StringIO.StringIO()
out = open(NEXSON_DONE_FILEPATH, 'w') out.write('0\n') out.close() except locket.LockError: return HTTP(102, "Conversion to NexSON still running") if output in ['nexson', 'ot:nexson']: response.view = 'generic.json' nex = json.load(codecs.open(NEXSON_FILEPATH, 'rU', encoding='utf-8')) num_trees = count_num_trees(nex, NEXSON_VERSION) r = {'data': nex} bundle_properties = json.load(codecs.open(RETURN_ATT_FILEPATH, 'rU', encoding='utf-8')) try: dd = bundle_properties.get('dataDeposit') if dd: n = nex.get('nex:nexml') or nex['nex'] add_resource_meta(n, "ot:dataDeposit", dd, NEXSON_VERSION) except: pass r.update(bundle_properties) r['numberOfTrees'] = num_trees r['nexml2json'] = NEXSON_VERSION read_inp_format = bundle_properties.get('inputFormat', '') read_filename = bundle_properties.get('filename', '') # Since import was successful, we should copy the original data to a file in the supporting-files area if request.vars.file is not None: file_data = request.vars.file.file else: # mimic the expected upload file field by coercing pasted text to a file-like object import StringIO file_data = StringIO.StringIO()