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
@traced
function or method is minimal when theTRACED
log 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
@traced
decorator is to set theAUTOLOGGING_TRACED_NOOP
environment variable to any non-empty value.If the
AUTOLOGGING_TRACED_NOOP
environment variable is set to a non-empty value when Autologging is loaded, the@traced
no-op will be installed automatically.As an alternative to setting the
AUTOLOGGING_TRACED_NOOP
environment 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-
@traced
class or function! It simply replaces theautologging.traced
module reference with a no-op.For this reason it is imperative that
autologging.install_traced_noop()
be called before the@traced
decorator has been applied to any class or function in the application. (This is why theAUTOLOGGING_TRACED_NOOP
environment 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.Logger
object 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.__log
will 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.__log
will 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
@logged
use 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._log
will 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
_log
attribute must be qualified by the function name.If obj is a
logging.Logger
object, 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.
__log
with 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@logged
and 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.__log
object must themselves be decorated with@logged
.Warning
Although the
@logged
and@traced
decorators will “do the right thing” regardless of the order in which they are applied to the same function, it is recommended that@logged
always be used as the innermost decorator:@traced @logged def my_function(): my_function._log.info("message")
This is because
@logged
simply sets the_log
attribute 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:
object
This 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:
TVBException
Exception 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:
TVBException
Raised when accessing a resource is not allowed
- exception tvb.interfaces.web.controllers.common.NotAuthenticated(message, redirect_url)[source]¶
Bases:
NotAllowed
Raised 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:
BaseController
This 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:
FancyValidator
Allow 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:
FancyValidator
Custom 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:
FancyValidator
Custom 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:
UserController
Controller 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:
Schema
Validate 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)s
was 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:
FancyValidator
Custom 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:
FancyValidator
Custom 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:
Schema
Validate 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)s
was 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:
Schema
Validate 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)s
was 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:
Schema
Validate 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)s
was 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:
Schema
Validate 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)s
was 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:
Schema
Validate 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)s
was 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:
FancyValidator
Custom 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:
BaseController
This 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¶
burst
Packagebase_controller
dynamic_model_controller
Dynamic
DynamicModelController
DynamicModelController.KEY_CACHED_DYNAMIC_MODEL
DynamicModelController.LOGGER
DynamicModelController.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_controller
ParameterExplorationController
ParameterExplorationController.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()
matjax
noise_configuration_controller
region_model_parameters_controller
transfer_vector_controller
TransferVectorController
TransferVectorController.apply_transfer_function()
TransferVectorController.base_url
TransferVectorController.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
help
Packageproject
Packagefigure_controller
project_controller
EditForm
ProjectController
ProjectController.KEY_OPERATION_FILTERS
ProjectController.NODE_OPERATION_GROUP_TYPE
ProjectController.NODE_OPERATION_TYPE
ProjectController.PRROJECTS_FOR_LINK_KEY
ProjectController.PRROJECTS_LINKED_KEY
ProjectController.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()
simulator
Packagemonitors_wizard_handler
MonitorsWizardHandler
MonitorsWizardHandler.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_controller
SimulatorController
SimulatorController.BRANCH_NAME_FORMAT
SimulatorController.COPY_NAME_FORMAT
SimulatorController.KEY_IS_LOAD_AFTER_REDIRECT
SimulatorController.KEY_KEEP_SAME_SIM_WIZARD
SimulatorController.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_rules
SimulatorFragmentRenderingRules
SimulatorFragmentRenderingRules.FIRST_FORM_URL
SimulatorFragmentRenderingRules.disable_fields
SimulatorFragmentRenderingRules.hide_launch_and_setup_pse_button
SimulatorFragmentRenderingRules.hide_previous_button
SimulatorFragmentRenderingRules.include_branch_button
SimulatorFragmentRenderingRules.include_launch_button
SimulatorFragmentRenderingRules.include_launch_pse_button
SimulatorFragmentRenderingRules.include_next_button
SimulatorFragmentRenderingRules.include_previous_button
SimulatorFragmentRenderingRules.include_setup_noise
SimulatorFragmentRenderingRules.include_setup_pse
SimulatorFragmentRenderingRules.include_setup_region_model
SimulatorFragmentRenderingRules.include_setup_surface_model
SimulatorFragmentRenderingRules.load_readonly
SimulatorFragmentRenderingRules.to_dict()
simulator_wizzard_urls
SimulatorWizzardURLs
SimulatorWizzardURLs.LAUNCH_PSE_URL
SimulatorWizzardURLs.SETUP_PSE_URL
SimulatorWizzardURLs.SET_CONNECTIVITY_URL
SimulatorWizzardURLs.SET_CORTEX_URL
SimulatorWizzardURLs.SET_COUPLING_PARAMS_URL
SimulatorWizzardURLs.SET_INTEGRATOR_PARAMS_URL
SimulatorWizzardURLs.SET_INTEGRATOR_URL
SimulatorWizzardURLs.SET_MODEL_PARAMS_URL
SimulatorWizzardURLs.SET_MODEL_URL
SimulatorWizzardURLs.SET_MONITORS_URL
SimulatorWizzardURLs.SET_MONITOR_EQUATION_URL
SimulatorWizzardURLs.SET_MONITOR_PARAMS_URL
SimulatorWizzardURLs.SET_NOISE_EQUATION_PARAMS_URL
SimulatorWizzardURLs.SET_NOISE_PARAMS_URL
SimulatorWizzardURLs.SET_PSE_PARAMS_URL
SimulatorWizzardURLs.SET_STIMULUS_URL
SimulatorWizzardURLs.SET_SURFACE_URL
spatial
Packagebase_spatio_temporal_controller
SpatioTemporalController
SpatioTemporalController.MSG_MISSING_SURFACE
SpatioTemporalController.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_controller
LocalConnectivityController
LocalConnectivityController.CUTOFF_FIELD
LocalConnectivityController.DISPLAY_NAME_FIELD
LocalConnectivityController.EQUATION_FIELD
LocalConnectivityController.EQUATION_PARAMS_FIELD
LocalConnectivityController.SURFACE_FIELD
LocalConnectivityController.base_url
LocalConnectivityController.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_controller
RegionStimulusController
RegionStimulusController.CONNECTIVITY_FIELD
RegionStimulusController.DISPLAY_NAME_FIELD
RegionStimulusController.MSG_MISSING_CONNECTIVITY
RegionStimulusController.TEMPORAL_FIELD
RegionStimulusController.TEMPORAL_PARAMS_FIELD
RegionStimulusController.base_url
RegionStimulusController.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_controller
SurfaceModelParametersController
SurfaceModelParametersController.EQUATION_FIELD
SurfaceModelParametersController.EQUATION_PARAMS_FIELD
SurfaceModelParametersController.MODEL_PARAM_FIELD
SurfaceModelParametersController.apply_equation()
SurfaceModelParametersController.apply_focal_point()
SurfaceModelParametersController.base_url
SurfaceModelParametersController.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_controller
SurfaceStimulusController
SurfaceStimulusController.DISPLAY_NAME_FIELD
SurfaceStimulusController.SPATIAL_FIELD
SurfaceStimulusController.SPATIAL_PARAMS_FIELD
SurfaceStimulusController.SURFACE_FIELD
SurfaceStimulusController.TEMPORAL_FIELD
SurfaceStimulusController.TEMPORAL_PARAMS_FIELD
SurfaceStimulusController.base_url
SurfaceStimulusController.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()