def pmlCheck(): #if request.method == 'POST': text = request.form["text"] if text: with tempfile.NamedTemporaryFile(mode='w+t', suffix='.pml', delete=False ) as file:#open(path) as file: name = file.name basename, ext = os.path.splitext(name) path = os.path.join(basename + '.pml') file.write(text) file.flush() try: #check for error to avoid dot error later on output_res, error = test.pmlCheckT(name) if error: error = error.strip().replace(name + ':', "Line number ") return render_template('graph.html', result=error, output=text) output_res = output_res.strip().replace(name + ':', "Line number ")#'No Errors Detected' return render_template('graph2.html', result=output_res, output=text) except subprocess.CalledProcessError as err: return err.output.decode(), 400
def graphAgentColored(): #if request.method == 'POST': text = request.form["text"] if text: with tempfile.NamedTemporaryFile(mode='w+t', suffix='.pml') as file:#open(path) as file: name = file.name basename, ext = os.path.splitext(name) path = os.path.join(basename + '.pml') file.write(text) file.flush() try: #check for error to avoid dot error later on output_res,error = test.pmlCheckT(name) if error: error = error.strip().replace(name + ':', "Line number ") return render_template('graph.html', result=error, output=text) agentColored = test.traverse(pmlfile=name, flag='-f') Graph2 = pgv.AGraph(agentColored) filename3 = 'graph' + time.strftime("%Y%m%d-%H%M%S") +'.svg' Graph2.draw(BUCKET_PATH + filename3, prog="dot") output_res = output_res.strip().replace(name + ':', "Line number ") #return graph listFiles = url_for('uploaded_file' , filename= filename3) return render_template('graph2.html', result=output_res, output=text, imgpath=listFiles) except subprocess.CalledProcessError as err: return err.output.decode()#, 400
def graphAnalysisColored(): #if request.method == 'POST': text = request.form["input2"] if text: with tempfile.NamedTemporaryFile(mode='w+t', suffix='.pml', delete=False ) as file:#open(path) as file: name = file.name basename, ext = os.path.splitext(name) path = os.path.join(basename + '.pml') file.write(text) file.flush() try: #check for error to avoid dot error later on output_res, error = test.pmlCheckT(name) if error: error = error.strip().replace(name + ':', "Line number ") return render_template('graph.html', result=error, output=text) finalgraph = test.graph_analysis(pmlfile=name, flag='-n') Graph = pgv.AGraph(finalgraph) filename1 = 'graph' + time.strftime("%Y%m%d-%H%M%S") +'.svg' Graph.draw(BUCKET_PATH + filename1, prog="dot") output_res = output_res.strip().replace(name + ':', "Line number ")#'No Errors Detected' listFiles = url_for('uploaded_file' , filename=filename1 ) return render_template('graph2.html', result=output_res, output=text, imgpath=listFiles, legend='static/fonts/Legends.png') except subprocess.CalledProcessError as err: return err.output.decode(), 400