|
18 | 18 | import sys |
19 | 19 | import zipfile |
20 | 20 | import shutil |
| 21 | +import sqlite3 |
| 22 | +import json |
21 | 23 | from os import replace, remove, makedirs, pathsep |
22 | 24 | from os.path import dirname, join, basename, exists, split, commonprefix |
23 | 25 |
|
|
30 | 32 | from .header import last_page_filename, data_folder, database_file, configure_filename, system |
31 | 33 | from .project_files import write_projects, delete_project, save_file, get_log_data, is_project_folder |
32 | 34 | from .server_errors import InvalidUsage, Conflict |
33 | | -from .db2sbml import writeDBModelToSBML |
| 35 | +from .db2sbml import writeDBModelToSBML, database_to_editor |
34 | 36 | from .sbml2db import writeSBMLToDBModel |
| 37 | +from .database_reader import read_regulations, read_components |
35 | 38 |
|
36 | 39 | def wrong_get(app, url): |
37 | 40 | raise InvalidUsage('unknown GET command ' + request.args['command']) |
@@ -255,9 +258,16 @@ def importSBML(app, url): |
255 | 258 |
|
256 | 259 | try: |
257 | 260 | writeSBMLToDBModel(join(target_folder, data_folder, database_file), sbml_file) |
| 261 | + with sqlite3.connect(join(target_folder, data_folder, database_file)) as conn: |
| 262 | + comps = read_components(conn) |
| 263 | + regs = read_regulations(conn) |
| 264 | + json_root = database_to_editor(comps, regs) |
| 265 | + json_string = json.dumps(json_root) |
| 266 | + with open(join(target_folder, data_folder, 'editor.json'), "w+") as editor_file: |
| 267 | + editor_file.write(json_string) |
258 | 268 | except: |
259 | 269 | shutil.rmtree(target_folder) |
260 | | - raise InvalidUsage('Failed to convert the file ' + file.filename) |
| 270 | + raise InvalidUsage('Failed to convert the file ' + file.filename + ' error: ' + sys.exc_info()[0]) |
261 | 271 |
|
262 | 272 | write_projects(app.projects_path()) |
263 | 273 | return 'import successful' |
|
0 commit comments