controllers Package¶
autologging¶
Edited by Bogdan Valean <bogdan.valean@codemart.ro> : 29.05.2020 - Use internal TVB Logger by default. - Add logged user GID to the logging message
- tvb.interfaces.web.controllers.autologging.TRACE = 1¶
A custom tracing log level, lower in severity than
logging.DEBUG.
- tvb.interfaces.web.controllers.autologging.install_traced_noop()[source]¶
Replace the
traced()decorator with an identity (no-op) decorator.Although the overhead of a
@tracedfunction or method is minimal when theTRACEDlog level is disabled, there is still some overhead (the logging level check, an extra function call).If you would like to completely eliminate this overhead, call this function before any classes or functions in your application are decorated with
@traced. Thetraced()decorator will be replaced with a no-op decorator that simply returns the class or function unmodified.Note
The recommended way to install the no-op
@traceddecorator is to set theAUTOLOGGING_TRACED_NOOPenvironment variable to any non-empty value.If the
AUTOLOGGING_TRACED_NOOPenvironment variable is set to a non-empty value when Autologging is loaded, the@tracedno-op will be installed automatically.As an alternative to setting the
AUTOLOGGING_TRACED_NOOPenvironment variable, you can also call this function directly in your application’s bootstrap module. For example:import autologging if running_in_production: autologging.install_traced_noop()
Warning
This function does not “revert” any already-
@tracedclass or function! It simply replaces theautologging.tracedmodule reference with a no-op.For this reason it is imperative that
autologging.install_traced_noop()be called before the@traceddecorator has been applied to any class or function in the application. (This is why theAUTOLOGGING_TRACED_NOOPenvironment variable is the recommended approach for installing the no-op - it allows Autologging itself to guarantee that the no-op is installed before any classes or functions are decorated.)
- tvb.interfaces.web.controllers.autologging.logged(obj)[source]¶
Add a logger member to a decorated class or function.
- Parameters:
obj – the class or function object being decorated, or an optional
logging.Loggerobject to be used as the parent logger (instead of the default module-named logger)- Returns:
obj if obj is a class or function; otherwise, if obj is a logger, return a lambda decorator that will in turn set the logger attribute and return obj
If obj is a
class, thenobj.__logwill have the logger name “<module-name>.<class-name>”:>>> import sys >>> logging.basicConfig( ... level=logging.DEBUG, stream=sys.stdout, ... format="%(levelname)s:%(name)s:%(funcName)s:%(message)s") >>> @logged ... class Sample: ... ... def test(self): ... self.__log.debug("This is a test.") ... >>> Sample().test() DEBUG:autologging.Sample:test:This is a test.
Note
Autologging will prefer to use the class’s
__qualname__when it is available (Python 3.3+). Otherwise, the class’s__name__is used. For example:class Outer: @logged class Nested: pass
Under Python 3.3+,
Nested.__logwill have the name “autologging.Outer.Nested”, while under Python 2.7 or 3.2, the logger name will be “autologging.Nested”.Changed in version 0.4.0: Functions decorated with
@loggeduse a single underscore in the logger variable name (e.g.my_function._log) rather than a double underscore.If obj is a function, then
obj._logwill have the logger name “<module-name>”:>>> import sys >>> logging.basicConfig( ... level=logging.DEBUG, stream=sys.stdout, ... format="%(levelname)s:%(name)s:%(funcName)s:%(message)s") >>> @logged ... def test(): ... test._log.debug("This is a test.") ... >>> test() DEBUG:autologging:test:This is a test.
Note
Within a logged function, the
_logattribute must be qualified by the function name.If obj is a
logging.Loggerobject, then that logger is used as the parent logger (instead of the default module-named logger):>>> import sys >>> logging.basicConfig( ... level=logging.DEBUG, stream=sys.stdout, ... format="%(levelname)s:%(name)s:%(funcName)s:%(message)s") >>> @logged(logging.getLogger("test.parent")) ... class Sample: ... def test(self): ... self.__log.debug("This is a test.") ... >>> Sample().test() DEBUG:test.parent.Sample:test:This is a test.
Again, functions are similar:
>>> import sys >>> logging.basicConfig( ... level=logging.DEBUG, stream=sys.stdout, ... format="%(levelname)s:%(name)s:%(funcName)s:%(message)s") >>> @logged(logging.getLogger("test.parent")) ... def test(): ... test._log.debug("This is a test.") ... >>> test() DEBUG:test.parent:test:This is a test.
Note
For classes, the logger member is made “private” (i.e.
__logwith double underscore) to ensure that log messages that include the %(name)s format placeholder are written with the correct name.Consider a subclass of a
@logged-decorated parent class. If the subclass were not decorated with@loggedand could access the parent’s logger member directly to make logging calls, those log messages would display the name of the parent class, not the subclass.Therefore, subclasses of a
@logged-decorated parent class that wish to use a providedself.__logobject must themselves be decorated with@logged.Warning
Although the
@loggedand@traceddecorators will “do the right thing” regardless of the order in which they are applied to the same function, it is recommended that@loggedalways be used as the innermost decorator:@traced @logged def my_function(): my_function._log.info("message")
This is because
@loggedsimply sets the_logattribute and then returns the original function, making it “safe” to use in combination with any other decorator.Note
Both Jython and IronPython report an “internal” class name using its mangled form, which will be reflected in the default logger name.
For example, in the sample code below, both Jython and IronPython will use the default logger name “autologging._Outer__Nested” (whereas CPython/PyPy/Stackless would use “autologging.__Nested” under Python 2 or “autologging.Outer.__Nested” under Python 3.3+)
class Outer: @logged class __Nested: pass
Warning
IronPython does not fully support frames (even with the -X:FullFrames option), so you are likely to see things like misreported line numbers and “<unknown file>” in log records emitted when running under IronPython.
base_controller¶
The Main class in this file is initialized in web/run.py to be served on the root of the Web site.
This is the main UI entry point.
- class tvb.interfaces.web.controllers.base_controller.BaseController[source]¶
Bases:
objectThis class contains the methods served at the root of the Web site.
- MAX_SIZE_ERROR_MSG = 'Max operation size has been exceeded. The current project admin can change this limit in Project - Basic Properties'¶
- fill_default_attributes(template_dictionary, escape_db_operations=False)[source]¶
Fill into ‘template_dictionary’ data that we want to have ready in UI.
- fill_overlay_attributes(template_dictionary, title, description, content_template, css_class, tabs_horizontal=None, overlay_indexes=None, tabs_vertical=None)[source]¶
This method prepares parameters for rendering overlay (overlay.html)
- Parameters:
title – overlay title
description – overlay description
content_template – path&name of the template file which will fill overlay content (without .html)
css_class – CSS class to be applied on overlay
tabs_horizontal – list of strings containing names of the tabs spread horizontally
tabs_vertical – list of strings containing names of the tabs spread vertically
- static get_url_adapter(step_key, adapter_id, back_page=None)[source]¶
Compute the URLs for a given adapter. Same URL is used both for GET and POST.
- static mark_file_for_delete(file_name, delete_parent_folder=False)[source]¶
This method stores provided file name in session, and later on when request is done, all these files/folders are deleted
- Parameters:
file_name – name of the file or folder to be deleted
delete_parent_folder – specify if the parent folder of the file should be removed too.
- showBlockerOverlay(**data)[source]¶
Returns the content of the blocking overlay (covers entire page and do not allow any action)
common¶
Constants and functions used by all controllers Custom exceptions
- exception tvb.interfaces.web.controllers.common.InvalidFormValues(message, error_dict=None)[source]¶
Bases:
TVBExceptionException to be thrown in case of existing some invalid values in a form.
- exception tvb.interfaces.web.controllers.common.MissingDataException(message)[source]¶
Bases:
TVBException
- exception tvb.interfaces.web.controllers.common.NotAllowed(message, redirect_url)[source]¶
Bases:
TVBExceptionRaised when accessing a resource is not allowed
- exception tvb.interfaces.web.controllers.common.NotAuthenticated(message, redirect_url)[source]¶
Bases:
NotAllowedRaised when accessing a protected method with no user logged in
- tvb.interfaces.web.controllers.common.add2session(key, value)[source]¶
Set in session, at a key, a value
- tvb.interfaces.web.controllers.common.get_current_project()[source]¶
Get current Project from session
- tvb.interfaces.web.controllers.common.get_from_session(attribute)[source]¶
check if something exists in session and return
- tvb.interfaces.web.controllers.common.get_logged_user()[source]¶
Get current logged User from session
- tvb.interfaces.web.controllers.common.has_error_message()[source]¶
check if the session contains an error message
- tvb.interfaces.web.controllers.common.pop_message_from_session()[source]¶
Pops the message stored in the session and it’s type If no message is present returns an empty info message :returns: a message dict
- tvb.interfaces.web.controllers.common.remove_from_session(key)[source]¶
Remove from session an attributes if exists.
- tvb.interfaces.web.controllers.common.set_important_message(msg)[source]¶
Set info message in session
decorators¶
Decorators for Cherrypy exposed methods are defined here.
- tvb.interfaces.web.controllers.decorators.check_admin(func)[source]¶
Decorator to check if a user is administrator before accessing a controller method
- tvb.interfaces.web.controllers.decorators.check_kc_user(func)[source]¶
Decorator used to check if the incoming request has a valid keycloak refresh token
- tvb.interfaces.web.controllers.decorators.check_user(func)[source]¶
Decorator to check if a user is logged before accessing a controller method.
- tvb.interfaces.web.controllers.decorators.context_selected(func)[source]¶
Decorator to check if a project is currently selected.
- tvb.interfaces.web.controllers.decorators.expose_endpoint(func)[source]¶
Equivalent to @cherrypy.expose @check_kc_user
- tvb.interfaces.web.controllers.decorators.expose_fragment(template_name)[source]¶
Equivalent to @cherrypy.expose @handle_error(redirect=False) @using_template2(template) @check_user
- tvb.interfaces.web.controllers.decorators.expose_json(func)[source]¶
Equivalent to @cherrypy.expose @handle_error(redirect=False) @jsonify @check_user
- tvb.interfaces.web.controllers.decorators.expose_page(func)[source]¶
Equivalent to @cherrypy.expose @handle_error(redirect=True) @using_template2(‘base_template’) @check_user
- tvb.interfaces.web.controllers.decorators.handle_error(redirect)[source]¶
If redirect is true(default) all errors will generate redirects. Generic errors will redirect to the error page. Authentication errors to login pages. If redirect is false redirect will be converted to errors http 500 All errors are logged Redirect false is used by ajax calls
- tvb.interfaces.web.controllers.decorators.jsonify(func)[source]¶
Decorator to wrap all JSON calls, and log on server in case of an exception.
- tvb.interfaces.web.controllers.decorators.ndarray_to_http_binary(func)[source]¶
Decorator to wrap calls that return numpy arrays. It serializes them as binary http response
flow_controller¶
Steps which a user needs to execute for achieving a given action are described here.
- class tvb.interfaces.web.controllers.flow_controller.FlowController[source]¶
Bases:
BaseControllerThis class takes care of executing steps in projects.
- NEW_SELECTION_NAME = 'New selection'¶
- cancel_or_remove_operation(operation_id, is_group, remove_after_stop=False)[source]¶
Stop the operation given by operation_id. If is_group is true stop all the operations from that group.
- default(step_key, adapter_key, cancel=False, back_page=None, **data)[source]¶
Render a specific adapter. ‘data’ are arguments for POST
- execute_post(project_id, submit_url, step_key, algorithm, **data)[source]¶
Execute HTTP POST on a generic step.
- fill_default_attributes(template_dictionary, title='-')[source]¶
Overwrite base controller to add required parameters for adapter templates.
- get_adapter_template(project_id, algorithm_id, is_upload=False, back_page=None, is_callout=False)[source]¶
Get the template for an adapter based on the algo group id.
- get_filtered_datatypes(dt_module, dt_class, filters, has_all_option, has_none_option)[source]¶
Given the name from the input tree, the dataType required and a number of filters, return the available dataType that satisfy the conditions imposed.
- get_simple_adapter_interface(algorithm_id, parent_div='', is_uploader=False)[source]¶
AJAX exposed method. Will return only the interface for a adapter, to be used when tabs are needed.
- get_template_for_adapter(project_id, step_key, stored_adapter, submit_url, is_burst=True, is_callout=False)[source]¶
Get Input HTML Interface template or a given adapter
- getadapterinterface(project_id, algorithm_id, back_page=None)[source]¶
AJAX exposed method. Will return only a piece of a page, to be integrated as part in another page.
- prepare_group_launch(group_gid, step_key, algorithm_id, **data)[source]¶
Receives as input a group gid and an algorithm given by category and id, along with data that gives the name of the required input parameter for the algorithm. Having these generate a range of GID’s for all the DataTypes in the group and launch a new operation group.
- read_datatype_attribute(entity_gid, dataset_name, flatten=False, datatype_kwargs='null', **kwargs)[source]¶
Retrieve from a given DataType a property or a method result.
- Returns:
JSON representation of the attribute.
- Parameters:
entity_gid – GID for DataType entity
dataset_name – name of the dataType property /method
flatten – result should be flatten before return (use with WebGL data mainly e.g vertices/triangles) Ignored if the attribute is not an ndarray
datatype_kwargs – if passed, will contain a dictionary of type {‘name’ : ‘gid’}, and for each such pair, a load_entity will be performed and kwargs will be updated to contain the result
kwargs – extra parameters to be passed when dataset_name is method.
- read_from_h5_file(entity_gid, method_name, flatten=False, datatype_kwargs='null', **kwargs)[source]¶
- readserverstaticfile(coded_path)[source]¶
Retrieve file from Local storage, having a File System Path.
- reload_burst_operation(operation_id, is_group, **_)[source]¶
Find out from which burst was this operation launched. Set that burst as the selected one and redirect to the burst page.
- reloadoperation(operation_id, **_)[source]¶
Redirect to Operation Input selection page, with input data already selected.
- store_exploration_section(val_range, step, dt_group_guid)[source]¶
Launching method for further simulations.
hpc_controller¶
REST endpoints that we use while running simulations on HPC nodes.
kube_controller¶
settings_controller¶
- class tvb.interfaces.web.controllers.settings_controller.AsciiValidator(*args, **kw)[source]¶
Bases:
FancyValidatorAllow only ascii strings
Messages
badType:The input must be a string (not a
%(type)s:%(value)r)empty:Please enter a value
noneType:The input must be a string (not None)
- declarative_count = 115¶
- class tvb.interfaces.web.controllers.settings_controller.DiskSpaceValidator(*args, **kw)[source]¶
Bases:
FancyValidatorCustom validator for TVB disk space / user.
Messages
badType:The input must be a string (not a
%(type)s:%(value)r)empty:Please enter a value
noneType:The input must be a string (not None)
- declarative_count = 111¶
- class tvb.interfaces.web.controllers.settings_controller.PortValidator(*args, **kw)[source]¶
Bases:
FancyValidatorCustom validator for OS Port number.
Messages
badType:The input must be a string (not a
%(type)s:%(value)r)empty:Please enter a value
noneType:The input must be a string (not None)
- declarative_count = 112¶
- class tvb.interfaces.web.controllers.settings_controller.SettingsController[source]¶
Bases:
UserControllerController for TVB-Settings web page. Inherit from UserController, to have the same fill_default_attributes method (with versionInfo).
- class tvb.interfaces.web.controllers.settings_controller.SettingsForm(*args, **kw)[source]¶
Bases:
SchemaValidate Settings Page inputs.
Messages
badDictType:The input must be dict-like (not a
%(type)s:%(value)r)badType:The input must be a string (not a
%(type)s:%(value)r)empty:Please enter a value
missingValue:Missing value
noneType:The input must be a string (not None)
notExpected:The input field
%(name)swas not expected.singleValueExpected:Please provide only one value
- chained_validators = []¶
- declarative_count = 137¶
- fields = {'ADMINISTRATOR_DISPLAY_NAME': <All [<UnicodeString object 119 inputEncoding='utf-8' not_empty=True outputEncoding='utf-8'>, <PlainText object 120 regex=re.compile('^[a-zA-Z_\\-0-9]*$')>]>, 'ADMINISTRATOR_EMAIL': <Email object 123 not_empty=True>, 'ADMINISTRATOR_NAME': <All [<UnicodeString object 116 inputEncoding='utf-8' not_empty=True outputEncoding='utf-8'>, <PlainText object 117 regex=re.compile('^[a-zA-Z_\\-0-9]*$')>]>, 'ADMINISTRATOR_PASSWORD': <UnicodeString object 122 inputEncoding='utf-8' not_empty=True outputEncoding='utf-8'>, 'CLUSTER_SCHEDULER': <UnicodeString object 128 inputEncoding='utf-8' not_empty=True outputEncoding='utf-8'>, 'DEPLOY_CLUSTER': <Bool object 127>, 'ENABLE_KEYCLOAK_LOGIN': <Bool object 131>, 'KEYCLOAK_CONFIGURATION': <UnicodeString object 129 inputEncoding='utf-8' outputEncoding='utf-8'>, 'KEYCLOAK_WEB_CONFIGURATION': <UnicodeString object 130 inputEncoding='utf-8' outputEncoding='utf-8'>, 'MAXIMUM_NR_OF_OPS_IN_RANGE': <Int object 136 max=5000 min=5 not_empty=True>, 'MAXIMUM_NR_OF_THREADS': <ThreadNrValidator object 134>, 'MAXIMUM_NR_OF_VERTICES_ON_SURFACE': <SurfaceVerticesNrValidator object 135>, 'SELECTED_DB': <UnicodeString object 125 inputEncoding='utf-8' not_empty=True outputEncoding='utf-8'>, 'TVB_STORAGE': <UnicodeString object 132 inputEncoding='utf-8' not_empty=True outputEncoding='utf-8'>, 'URL_VALUE': <UnicodeString object 126 inputEncoding='utf-8' not_empty=True outputEncoding='utf-8'>, 'USR_DISK_SPACE': <DiskSpaceValidator object 133 not_empty=True>, 'WEB_SERVER_PORT': <PortValidator object 124>}¶
- pre_validators = []¶
- class tvb.interfaces.web.controllers.settings_controller.SurfaceVerticesNrValidator(*args, **kw)[source]¶
Bases:
FancyValidatorCustom validator for the number of vertices allowed for a surface
Messages
badType:The input must be a string (not a
%(type)s:%(value)r)empty:Please enter a value
noneType:The input must be a string (not None)
- MAX_VALUE = 16777217¶
- declarative_count = 114¶
- class tvb.interfaces.web.controllers.settings_controller.ThreadNrValidator(*args, **kw)[source]¶
Bases:
FancyValidatorCustom validator number of threads.
Messages
badType:The input must be a string (not a
%(type)s:%(value)r)empty:Please enter a value
noneType:The input must be a string (not None)
- declarative_count = 113¶
users_controller¶
Here, user related tasks are described. Basic authentication processes are described here, but also user related annotation (checked-logged).
- class tvb.interfaces.web.controllers.users_controller.EditUserForm(*args, **kw)[source]¶
Bases:
SchemaValidate fields on user-edit
Messages
badDictType:The input must be dict-like (not a
%(type)s:%(value)r)badType:The input must be a string (not a
%(type)s:%(value)r)empty:Please enter a value
missingValue:Missing value
noneType:The input must be a string (not None)
notExpected:The input field
%(name)swas not expected.singleValueExpected:Please provide only one value
- chained_validators = [<FieldsMatch object 108 field_names=('password', 'password2')>, <RequireIfMissing object 109 present='old_password' required='password'>]¶
- declarative_count = 110¶
- fields = {'email': <Email object 107 if_missing=None>, 'old_password': <UnicodeString object 104 if_missing=None inputEncoding='utf-8' outputEncoding='utf-8'>, 'password': <UnicodeString object 105 if_missing=None inputEncoding='utf-8' outputEncoding='utf-8'>, 'password2': <UnicodeString object 106 if_missing=None inputEncoding='utf-8' outputEncoding='utf-8'>}¶
- pre_validators = []¶
- class tvb.interfaces.web.controllers.users_controller.KeycloakLoginForm(*args, **kw)[source]¶
Bases:
SchemaValidate for Login UI Form
Messages
badDictType:The input must be dict-like (not a
%(type)s:%(value)r)badType:The input must be a string (not a
%(type)s:%(value)r)empty:Please enter a value
missingValue:Missing value
noneType:The input must be a string (not None)
notExpected:The input field
%(name)swas not expected.singleValueExpected:Please provide only one value
- chained_validators = []¶
- declarative_count = 87¶
- empty_msg = 'Please enter a value'¶
- fields = {'auth_token': <UnicodeString object 86 inputEncoding='utf-8' not_empty=True outputEncoding='utf-8' use_builtins_gettext=False>}¶
- pre_validators = []¶
- class tvb.interfaces.web.controllers.users_controller.LoginForm(*args, **kw)[source]¶
Bases:
SchemaValidate for Login UI Form
Messages
badDictType:The input must be dict-like (not a
%(type)s:%(value)r)badType:The input must be a string (not a
%(type)s:%(value)r)empty:Please enter a value
missingValue:Missing value
noneType:The input must be a string (not None)
notExpected:The input field
%(name)swas not expected.singleValueExpected:Please provide only one value
- chained_validators = []¶
- declarative_count = 85¶
- empty_msg = 'Please enter a value'¶
- fields = {'password': <UnicodeString object 84 inputEncoding='utf-8' not_empty=True outputEncoding='utf-8' use_builtins_gettext=False>, 'username': <UnicodeString object 83 inputEncoding='utf-8' not_empty=True outputEncoding='utf-8' use_builtins_gettext=False>}¶
- pre_validators = []¶
- class tvb.interfaces.web.controllers.users_controller.RecoveryForm(*args, **kw)[source]¶
Bases:
SchemaValidate Recover Password Form
Messages
badDictType:The input must be dict-like (not a
%(type)s:%(value)r)badType:The input must be a string (not a
%(type)s:%(value)r)empty:Please enter a value
missingValue:Missing value
noneType:The input must be a string (not None)
notExpected:The input field
%(name)swas not expected.singleValueExpected:Please provide only one value
- chained_validators = []¶
- declarative_count = 103¶
- fields = {'email': <Email object 101 not_empty=True>, 'username': <UnicodeString object 102 inputEncoding='utf-8' not_empty=False outputEncoding='utf-8'>}¶
- pre_validators = []¶
- class tvb.interfaces.web.controllers.users_controller.RegisterForm(*args, **kw)[source]¶
Bases:
SchemaValidate Register Form
Messages
badDictType:The input must be dict-like (not a
%(type)s:%(value)r)badType:The input must be a string (not a
%(type)s:%(value)r)empty:Please enter a value
missingValue:Missing value
noneType:The input must be a string (not None)
notExpected:The input field
%(name)swas not expected.singleValueExpected:Please provide only one value
- chained_validators = [<FieldsMatch object 99 field_names=('password', 'password2')>]¶
- declarative_count = 100¶
- fields = {'comment': <UnicodeString object 97 inputEncoding='utf-8' outputEncoding='utf-8'>, 'display_name': <UnicodeString object 93 inputEncoding='utf-8' not_empty=True outputEncoding='utf-8'>, 'email': <Email object 96 not_empty=True>, 'password': <UnicodeString object 94 inputEncoding='utf-8' not_empty=True outputEncoding='utf-8'>, 'password2': <UnicodeString object 95 inputEncoding='utf-8' not_empty=True outputEncoding='utf-8'>, 'role': <UnicodeString object 98 inputEncoding='utf-8' outputEncoding='utf-8'>, 'username': <All [<UnicodeString object 89 inputEncoding='utf-8' not_empty=True outputEncoding='utf-8'>, <PlainText object 90 regex=re.compile('^[a-zA-Z_\\-0-9]*$')>, <UniqueUsername object 91>]>}¶
- pre_validators = []¶
- class tvb.interfaces.web.controllers.users_controller.UniqueUsername(*args, **kw)[source]¶
Bases:
FancyValidatorCustom validator to check that a given user-name is unique.
Messages
badType:The input must be a string (not a
%(type)s:%(value)r)empty:Please enter a value
noneType:The input must be a string (not None)
- declarative_count = 88¶
- class tvb.interfaces.web.controllers.users_controller.UserController[source]¶
Bases:
BaseControllerThis class takes care of the user authentication and/or register.
- fill_default_attributes(template_dictionary)[source]¶
Fill into ‘template_dictionary’ data that we want to have ready in UI.
- profile(logout=False, save=False, **data)[source]¶
Display current user’s profile page. On POST: logout, or save password/email.
- recoverpassword(cancel=False, **data)[source]¶
This form should reset a password for a given userName/email and send a notification message to that email.
- register(cancel=False, **data)[source]¶
This register form send an e-mail to the user and to the site admin.
Subpackages¶
burstPackagebase_controllerdynamic_model_controllerDynamicDynamicModelControllerDynamicModelController.KEY_CACHED_DYNAMIC_MODELDynamicModelController.LOGGERDynamicModelController.dynamic_detail()DynamicModelController.fill_default_attributes()DynamicModelController.get_cached_dynamic()DynamicModelController.graph_changed()DynamicModelController.index()DynamicModelController.integrator_parameters_changed()DynamicModelController.model_changed()DynamicModelController.parameters_changed()DynamicModelController.refresh_subform()DynamicModelController.submit()DynamicModelController.trajectories()
SessionCache
exploration_controllerParameterExplorationControllerParameterExplorationController.draw_discrete_exploration()ParameterExplorationController.draw_isocline_exploration()ParameterExplorationController.get_default_pse_viewer()ParameterExplorationController.get_metric_matrix()ParameterExplorationController.get_node_matrix()ParameterExplorationController.get_series_array_discrete()ParameterExplorationController.pse_error()
matjaxnoise_configuration_controllerregion_model_parameters_controllertransfer_vector_controllerTransferVectorControllerTransferVectorController.apply_transfer_function()TransferVectorController.base_urlTransferVectorController.clear_histogram()TransferVectorController.fill_default_attributes()TransferVectorController.get_equation_chart()TransferVectorController.index()TransferVectorController.no_connectivity_measure_page()TransferVectorController.set_connectivity_measure()TransferVectorController.set_model_parameter()TransferVectorController.set_transfer_function_param()TransferVectorController.submit_model_parameter()TransferVectorController.title
helpPackageprojectPackagefigure_controllerproject_controllerEditFormProjectControllerProjectController.KEY_OPERATION_FILTERSProjectController.NODE_OPERATION_GROUP_TYPEProjectController.NODE_OPERATION_TYPEProjectController.PRROJECTS_FOR_LINK_KEYProjectController.PRROJECTS_LINKED_KEYProjectController.createlink()ProjectController.downloaddatatype()ProjectController.downloadproject()ProjectController.editone()ProjectController.editstructure()ProjectController.fill_default_attributes()ProjectController.generate_call_out_control()ProjectController.get_data_uploader_overlay()ProjectController.get_datatype_details()ProjectController.get_linkable_projects()ProjectController.get_operation_details()ProjectController.get_project_structure_grouping()ProjectController.get_project_uploader_overlay()ProjectController.getmemberspage()ProjectController.index()ProjectController.launchloader()ProjectController.noderemove()ProjectController.projectupload()ProjectController.readjsonstructure()ProjectController.removelink()ProjectController.set_project_structure_grouping()ProjectController.set_visibility()ProjectController.show_confirmation_overlay()ProjectController.updatemetadata()ProjectController.viewall()ProjectController.viewoperations()
simulatorPackagemonitors_wizard_handlerMonitorsWizardHandlerMonitorsWizardHandler.get_current_and_next_monitor_form()MonitorsWizardHandler.get_fragment_after_monitors()MonitorsWizardHandler.handle_next_fragment_for_monitors()MonitorsWizardHandler.prepare_monitor_fragment()MonitorsWizardHandler.prepare_monitor_legend()MonitorsWizardHandler.prepare_next_fragment_after_noise()MonitorsWizardHandler.set_monitors_list_on_simulator()MonitorsWizardHandler.update_monitor()
simulator_controllerSimulatorControllerSimulatorController.BRANCH_NAME_FORMATSimulatorController.COPY_NAME_FORMATSimulatorController.KEY_IS_LOAD_AFTER_REDIRECTSimulatorController.KEY_KEEP_SAME_SIM_WIZARDSimulatorController.branch_simulator_configuration()SimulatorController.build_monitor_url()SimulatorController.cancel_or_remove_burst()SimulatorController.cancel_or_remove_operation()SimulatorController.copy_simulator_configuration()SimulatorController.export()SimulatorController.get_first_monitor_fragment_url()SimulatorController.get_history_status()SimulatorController.get_last_fragment_url()SimulatorController.get_upload_overlay()SimulatorController.get_url_after_monitor_equation()SimulatorController.get_url_after_monitors()SimulatorController.get_url_for_final_fragment()SimulatorController.get_urls_for_next_monitor_fragment()SimulatorController.index()SimulatorController.launch_pse()SimulatorController.launch_simulation()SimulatorController.load_burst_history()SimulatorController.load_burst_read_only()SimulatorController.load_simulator_configuration_from_zip()SimulatorController.prepare_first_fragment()SimulatorController.rename_burst()SimulatorController.reset_simulator_configuration()SimulatorController.set_connectivity()SimulatorController.set_cortex()SimulatorController.set_coupling_params()SimulatorController.set_fragment_url()SimulatorController.set_integrator()SimulatorController.set_integrator_params()SimulatorController.set_model()SimulatorController.set_model_params()SimulatorController.set_monitor_equation()SimulatorController.set_monitor_params()SimulatorController.set_monitors()SimulatorController.set_noise_equation_params()SimulatorController.set_noise_params()SimulatorController.set_pse_params()SimulatorController.set_stimulus()SimulatorController.set_surface()SimulatorController.setup_pse()
simulator_fragment_rendering_rulesSimulatorFragmentRenderingRulesSimulatorFragmentRenderingRules.FIRST_FORM_URLSimulatorFragmentRenderingRules.disable_fieldsSimulatorFragmentRenderingRules.hide_launch_and_setup_pse_buttonSimulatorFragmentRenderingRules.hide_previous_buttonSimulatorFragmentRenderingRules.include_branch_buttonSimulatorFragmentRenderingRules.include_launch_buttonSimulatorFragmentRenderingRules.include_launch_pse_buttonSimulatorFragmentRenderingRules.include_next_buttonSimulatorFragmentRenderingRules.include_previous_buttonSimulatorFragmentRenderingRules.include_setup_noiseSimulatorFragmentRenderingRules.include_setup_pseSimulatorFragmentRenderingRules.include_setup_region_modelSimulatorFragmentRenderingRules.include_setup_surface_modelSimulatorFragmentRenderingRules.load_readonlySimulatorFragmentRenderingRules.to_dict()
simulator_wizzard_urlsSimulatorWizzardURLsSimulatorWizzardURLs.LAUNCH_PSE_URLSimulatorWizzardURLs.SETUP_PSE_URLSimulatorWizzardURLs.SET_CONNECTIVITY_URLSimulatorWizzardURLs.SET_CORTEX_URLSimulatorWizzardURLs.SET_COUPLING_PARAMS_URLSimulatorWizzardURLs.SET_INTEGRATOR_PARAMS_URLSimulatorWizzardURLs.SET_INTEGRATOR_URLSimulatorWizzardURLs.SET_MODEL_PARAMS_URLSimulatorWizzardURLs.SET_MODEL_URLSimulatorWizzardURLs.SET_MONITORS_URLSimulatorWizzardURLs.SET_MONITOR_EQUATION_URLSimulatorWizzardURLs.SET_MONITOR_PARAMS_URLSimulatorWizzardURLs.SET_NOISE_EQUATION_PARAMS_URLSimulatorWizzardURLs.SET_NOISE_PARAMS_URLSimulatorWizzardURLs.SET_PSE_PARAMS_URLSimulatorWizzardURLs.SET_STIMULUS_URLSimulatorWizzardURLs.SET_SURFACE_URL
spatialPackagebase_spatio_temporal_controllerSpatioTemporalControllerSpatioTemporalController.MSG_MISSING_SURFACESpatioTemporalController.display_surface()SpatioTemporalController.fill_default_attributes()SpatioTemporalController.get_series_json()SpatioTemporalController.get_ui_message()SpatioTemporalController.get_x_axis_range()SpatioTemporalController.index()SpatioTemporalController.render_spatial_form()
local_connectivity_controllerLocalConnectivityControllerLocalConnectivityController.CUTOFF_FIELDLocalConnectivityController.DISPLAY_NAME_FIELDLocalConnectivityController.EQUATION_FIELDLocalConnectivityController.EQUATION_PARAMS_FIELDLocalConnectivityController.SURFACE_FIELDLocalConnectivityController.base_urlLocalConnectivityController.compute_data_for_gradient_view()LocalConnectivityController.create_local_connectivity()LocalConnectivityController.fill_default_attributes()LocalConnectivityController.get_equation_chart()LocalConnectivityController.get_series_json()LocalConnectivityController.load_local_connectivity()LocalConnectivityController.reset_local_connectivity()LocalConnectivityController.set_cutoff_value()LocalConnectivityController.set_display_name()LocalConnectivityController.set_equation_param()LocalConnectivityController.set_surface()LocalConnectivityController.step_1()LocalConnectivityController.step_2()
region_stimulus_controllerRegionStimulusControllerRegionStimulusController.CONNECTIVITY_FIELDRegionStimulusController.DISPLAY_NAME_FIELDRegionStimulusController.MSG_MISSING_CONNECTIVITYRegionStimulusController.TEMPORAL_FIELDRegionStimulusController.TEMPORAL_PARAMS_FIELDRegionStimulusController.base_urlRegionStimulusController.create_stimulus()RegionStimulusController.display_connectivity()RegionStimulusController.do_step()RegionStimulusController.fill_default_attributes()RegionStimulusController.get_equation_chart()RegionStimulusController.load_region_stimulus()RegionStimulusController.reset_region_stimulus()RegionStimulusController.set_connectivity()RegionStimulusController.set_display_name()RegionStimulusController.set_temporal_param()RegionStimulusController.step_1()RegionStimulusController.step_1_submit()RegionStimulusController.step_2()RegionStimulusController.step_2_submit()RegionStimulusController.update_scaling()
surface_model_parameters_controllerSurfaceModelParametersControllerSurfaceModelParametersController.EQUATION_FIELDSurfaceModelParametersController.EQUATION_PARAMS_FIELDSurfaceModelParametersController.MODEL_PARAM_FIELDSurfaceModelParametersController.apply_equation()SurfaceModelParametersController.apply_focal_point()SurfaceModelParametersController.base_urlSurfaceModelParametersController.edit_model_parameters()SurfaceModelParametersController.fill_default_attributes()SurfaceModelParametersController.get_data_from_burst_configuration()SurfaceModelParametersController.get_equation_chart()SurfaceModelParametersController.get_focal_points()SurfaceModelParametersController.remove_focal_point()SurfaceModelParametersController.set_equation_param()SurfaceModelParametersController.set_model_parameter()SurfaceModelParametersController.submit_model_parameters()
surface_stimulus_controllerSurfaceStimulusControllerSurfaceStimulusController.DISPLAY_NAME_FIELDSurfaceStimulusController.SPATIAL_FIELDSurfaceStimulusController.SPATIAL_PARAMS_FIELDSurfaceStimulusController.SURFACE_FIELDSurfaceStimulusController.TEMPORAL_FIELDSurfaceStimulusController.TEMPORAL_PARAMS_FIELDSurfaceStimulusController.base_urlSurfaceStimulusController.create_stimulus()SurfaceStimulusController.do_step()SurfaceStimulusController.fill_default_attributes()SurfaceStimulusController.get_spatial_equation_chart()SurfaceStimulusController.get_stimulus_chunk()SurfaceStimulusController.get_temporal_equation_chart()SurfaceStimulusController.load_surface_stimulus()SurfaceStimulusController.reload_default()SurfaceStimulusController.set_display_name()SurfaceStimulusController.set_spatial_param()SurfaceStimulusController.set_surface()SurfaceStimulusController.set_temporal_param()SurfaceStimulusController.step_1()SurfaceStimulusController.step_1_submit()SurfaceStimulusController.step_2()SurfaceStimulusController.step_2_submit()SurfaceStimulusController.view_stimulus()