Module reahl.web.interfaces¶
The interfaces for persisted classes that are needed by the core Reahl framework. Different implementations of the framework can be provided by implementing these.
UserSessionProtocol¶
-
class
reahl.web.interfaces.
UserSessionProtocol
¶ A UserSession represents a potentially lengthy interaction of a particular the user with the system.
-
classmethod
for_current_session
()¶ Returns a UserSession instance for the current user. If no UserSession is present for the current interaction yet this method should create one. If a UserSession does exist for the current interaction, this method returns the correct UserSession.
-
is_active
()¶ Answers whether the session is still usable (instead of being expired due to inactivity).
-
is_secured
()¶ Answers whether the interaction is currently done via a secure channel where applicable.
New in version 3.1.
-
set_last_activity_time
()¶ Sets a timestamp on the UserSession to indicate when the last activity was detected relating to this interaction. UserSessions typically expire automatically if no activity is detected after some time.
-
get_interface_locale
()¶ Answers a string identifying the currently selected locale.
-
classmethod
get_or_create_session
()¶ Returns a session, creating a new one if none can be determined. If one can be determined from the browser, that session is returned.
-
set_session_key
(response)¶ Called at the end of a request loop to enable an implementation to save some identifying information to the response (such as setting a cookie with the ID of the current session).
-
classmethod
UserInputProtocol¶
-
class
reahl.web.interfaces.
UserInputProtocol
¶ User input, typed as strings on a form is persisted using this class, for the current user’s session for use in a subsequent request. Used via web.persisted_userinput_class.
-
classmethod
get_previously_entered_for_form
(form, input_name)¶ Returns the user input associated with the given
reahl.web.ui.Form
, as previously saved using input_name as name.
-
classmethod
save_input_value_for_form
(form, input_name, value)¶ Persists value as the value of the user input associated with the given
reahl.web.ui.Form
, using input_name as name.
-
classmethod
PersistedExceptionProtocol¶
-
class
reahl.web.interfaces.
PersistedExceptionProtocol
¶ When a
reahl.component.exceptions.DomainException
happens during Form submission, the exception is persisted using this class, for the current user’s session for use in a subsequent request. Used via web.persisted_exception_class.-
classmethod
get_exception_for_form
(form)¶ Retrieves an exception previously saved for the given
reahl.web.ui.Form
, or None if not found.
-
classmethod
get_exception_for_input
(form, input_name)¶ Retrieves an exception previously saved for the given
reahl.web.ui.Form
and input_name or None if not found.
-
classmethod
clear_for_all_inputs
(form)¶ Removes all saved Exceptions associated with the given
reahl.web.ui.Form
.
-
classmethod
PersistedFileProtocol¶
-
class
reahl.web.interfaces.
PersistedFileProtocol
¶ When a file is uploaded, file is persisted using this class, for the current user’s session for use in a subsequent request. Used via web.persisted_file_class.
-
file_obj
¶ Returns an object with traditional .read and .seek methods which can be used to read the contents of the persisted file.
-
classmethod
clear_for_form
(form)¶ Removes all files previously saved for the given
reahl.web.ui.Form
.
-
classmethod
get_persisted_for_form
(form, input_name)¶ Returns the previously persisted file for the given
reahl.web.ui.Form
, using the given input_name as name.
-
classmethod
add_persisted_for_form
(form, input_name, uploaded_file)¶ Saves the given uploaded_file (a
cgi.FileStorage
) using the given input_name for the givenreahl.web.ui.Form
.
-
classmethod
remove_persisted_for_form
(form, input_name, filename)¶ Removes previously persisted file with name filename, as saved for the given
reahl.web.ui.Form
and input_name.
-
classmethod
is_uploaded_for_form
(form, input_name, filename)¶ Answers whether a file with name filename has previously been saved for the given
reahl.web.ui.Form
and input_name.
-