def convert_to_sbml(): """Handles conversion to sbml requests, that is a request to convert a model from Bio-PEPA to SBML """ convert_id = request.form["convert_id"] new_text = "Calculating ..." datastore.update_model_field(None, convert_id, "modelsbml", new_text) command = [ "python", "web-biopepa-latex/execute_command.py", "convert_to_sbml", "5", convert_id ] _process = Popen(command) return redirect(url_for('show_entries'))
def convert_to_latex(timeout, database, arguments): """ The method for converting a model to LaTeX """ convert_id = int(arguments[0]) model_source = datastore.get_model_source(database, convert_id) # Basically makes the method the same but with a timeout of # the given timeout. convert_method = timeouts.timeout(timeout) convert = convert_method(biopepa_to_latex.convert_source) try: new_text = convert(model_source) datastore.update_model_field(database, convert_id, "latex", new_text) except parcon.ParseException as parse_exception: message = "Operation to convert to LaTeX failed due to a parse error: " message += str(parse_exception) datastore.update_model_field(database, convert_id, "latex", "") datastore.add_error(database, convert_id, message) except timeouts.TimeoutError: message = "Operation to convert to LaTeX timed-out" datastore.update_model_field(database, convert_id, "latex", "") datastore.add_error(database, convert_id, message)