Esempio n. 1
0
def data():
    equation_string = flask.request.args.get('equation')
    plotter = FieldPlotter()
    plotter.set_equation_from_string(equation_string)
    json_data = plotter.json_data()
    response = flask.make_response(json_data)
    response.mimetype = 'text/json'
    return response
Esempio n. 2
0
 def test_set_equation_from_string_fail(self):
     equation_str = 'x***y'
     plotter = FieldPlotter()
     
     # Test that error is raised when not told to fail silently
     with self.assertRaises(sympy.SympifyError):
         plotter.set_equation_from_string(equation_str)
     
     # Test silent failure
     plotter.set_equation_from_string(equation_str, fail_silently=True)
     self.assertIsNone(plotter.equation)
Esempio n. 3
0
 def test_set_equation_from_string(self):
     equations = [
         'x',
         'y',
         'x+y',
         '2*x',
         'x*y',
         'x/y',
     ]
     plotter = FieldPlotter()
     for equation_str in equations:
         plotter.set_equation_from_string(equation_str)
         sympy_eq = sympy.sympify(equation_str)
         self.assertEqual(plotter.equation, sympy_eq)
Esempio n. 4
0
def plot():
    equation_string = flask.request.args.get('equation')
    diff_equation = FieldPlotter()
    diff_equation.set_equation_from_string(equation_string)
    diff_equation.make_plot()
    
    # If plotting was successful, write plot out
    if diff_equation.figure:
        
        # Write output to memory and add to response object
        output = StringIO.StringIO()
        response = flask.make_response(base64.b64encode(diff_equation.write_data(output)))
        response.mimetype = 'image/png'
        return response
    else:
        return flask.make_response('')
Esempio n. 5
0
 def test_set_equation_from_string_timeout(self):
     equation_str = '9**9**9**9**9**9'
     plotter = FieldPlotter()
     plotter.set_equation_from_string(equation_str)
     self.assertIsNone(plotter.equation)