def generate_tree(): with app.app_context(): data = flask.json.loads(request.data) params = data['params'] age_params = { 'avg_age': params['avg_age'], 'age_dev': params['age_dev'] } sender = ContactsTree(DEPTH, age_params).generate_tree() settings = {} settings.update(data['params']) simulator = SimulationManager(sender=sender, settings=settings) nodes = simulator.traverse() return flask.jsonify(dict(root=sender.to_dict(), nodes=nodes, edges=make_edges(nodes)))
def simulation(): with app.app_context(): data = flask.json.loads(request.data) root_id = data['graph']['root']['id'] tree_dict = deserialize(root_id, data['graph']) sender = tree_dict[root_id] settings = {} settings.update(data['params']) settings.update(use_profile_spreading=data['spreading']) simulator = SimulationManager(sender=sender, settings=settings) simulator.start_simulation() statistics = simulator.statistics() response = dict( statistics=dict( votes=statistics['info'], replies_log=statistics['replies_log'], replies_number=statistics['replies_number'], request_number=simulator.average_request_number()-1 ), replies_stats=statistics['replies_stats'] ) return flask.jsonify(response)