Model Reference¶
The models
Module¶
Here are defined database main objects and constants.
-
publiforge.models.
close_dbsession
(request)[source]¶ Call back function to close database session.
Parameters: request – ( pyramid.request.Request
instance) Current request.
The models.users
Module¶
SQLAlchemy-powered model definition for users.
-
class
publiforge.models.users.
User
(settings, login, status, password, name, email, lang='en', expiration=None, restrict_ip=False, home=None, page_size=None, created=None, updated=None)[source]¶ SQLAlchemy-powered user model.
-
set_password
(settings, password)[source]¶ Encrypt and set password.
Parameters: - settings – (dictionary) Pyramid deployment settings.
- password – (string) Clear password.
-
setup_environment
(request)[source]¶ Set up user environment (session and cookie).
Parameters: request – ( pyramid.request.Request
instance) Current request.It saves in session the following values:
user_id
: user IDlogin
: user loginname
: user namelang
: user languagehome
: home page contentpaging
: paging environmentperms
: list of permissions
-
classmethod
load
(settings, user_elt, error_if_exists=True)[source]¶ Load a user from a XML element.
Parameters: - settings – (dictionary) Application settings.
- user_elt – (
lxml.etree.Element
instance) User XML element. - error_if_exists – (boolean, default=True) It returns an error if user already exists.
Returns: (
pyramid.i18n.TranslationString
orNone
) Error message orNone
.
-
The models.groups
Module¶
SQLAlchemy-powered model definition for groups.
-
class
publiforge.models.groups.
Group
(group_id, label, description=None)[source]¶ SQLAlchemy-powered group model.
-
classmethod
load
(group_elt, error_if_exists=True)[source]¶ Load a group from a XML element.
Parameters: - group_elt – (
lxml.etree.Element
instance) Group XML element. - error_if_exists – (boolean, default=True) It returns an error if group already exists.
Returns: (
pyramid.i18n.TranslationString
orNone
) Error message orNone
.- group_elt – (
-
classmethod
The models.storages
Module¶
SQLAlchemy-powered model definition for storages.
-
class
publiforge.models.storages.
Storage
(settings, storage_id, label, description=None, vcs_engine='local', vcs_url=None, vcs_user=None, vcs_password=None, public_url=None, access=None, refresh=None, indexed_files=None, normalize_mode=None)[source]¶ SQLAlchemy-powered storage model.
-
set_vcs_password
(settings, vcs_password)[source]¶ Encrypt and set password.
Parameters: - settings – (dictionary) Pyramid deployment settings.
- vcs_password – (string) Clear VCS password.
-
classmethod
delete
(storage_root, storage_id)[source]¶ Delete a storage.
Parameters: - storage_root – (string) Storage root path.
- storage_id – (string) Storage identifier.
-
classmethod
load
(settings, storage_elt, error_if_exists=True)[source]¶ Load a storage from a XML element.
Parameters: - settings – (dictionary) Application settings.
- storage_elt – (
lxml.etree.Element
instance) Storage XML element. - error_if_exists – (boolean, default=True) It returns an error if storage already exists.
Returns: (
pyramid.i18n.TranslationString
None
orStorage
instance) Error message orNone
or the new storage object.
-
-
class
publiforge.models.storages.
StorageOpener
(storage_id, opener_id, sort=0)[source]¶ SQLAlchemy-powered association table between
Storage
and its openers.
The models.indexers
Module¶
SQLAlchemy-powered model definition for groups.
-
class
publiforge.models.indexers.
Indexer
(indexer_id, labels, value_type, display=None, result_column=None)[source]¶ SQLAlchemy-powered indexer model.
-
label
(lang, default_lang='en')[source]¶ Return the label in language
lang
.Parameters: - lang – (string) Asked language.
- default_lang – (string) Default language.
Returns: (string)
-
classmethod
load
(indexer_elt, error_if_exists=True)[source]¶ Load a indexer from a XML element.
Parameters: - indexer_elt – (
lxml.etree.Element
instance) Indexer XML element. - error_if_exists – (boolean, default=True) It returns an error if indexer already exists.
Returns: (
pyramid.i18n.TranslationString
orNone
) Error message orNone
.- indexer_elt – (
-
The models.processors
Module¶
SQLAlchemy-powered model definition for processors.
-
class
publiforge.models.processors.
Processor
(processor_id)[source]¶ SQLAlchemy-powered processor model.
-
classmethod
load
(processor_id, xml)[source]¶ Load a processor from a XML string.
Parameters: - processor_id – (string) Processor ID.
- xml – (string) XML string.
Returns: (string,
pyramid.i18n.TranslationString
orProcessor
) Error message or processor object.
-
classmethod
ids
(request)[source]¶ ID of all processors.
Parameters: request – ( pyramid.request.Request
instance) Current request.Returns: (list)
-
classmethod
labels
(request)[source]¶ Label of all processors in local language or default language.
Parameters: request – ( pyramid.request.Request
instance) Current request.Returns: (dictionary) A dictionary such as {<processor_id>: <processor_label>,...}
.If some labels do not exist in the asked language, this method returns the label in default language or
processor_id
.
-
classmethod
description
(request, processor_id=None, xml=None)[source]¶ Description of processor
processor_id
in local language or default language.Parameters: - request – (
pyramid.request.Request
instance) Current request. - processor_id – (string, optional) Processor ID.
- xml – (
lxml.etree.ElementTree
instance, optional) Processor XML.
Returns: (string) Description.
If some labels do not exist in the asked language, this method returns the label in default language or
processor_id
.- request – (
-
classmethod
The models.projects
Module¶
SQLAlchemy-powered model definition for projects.
-
class
publiforge.models.projects.
Project
(label, description=None, status=None, deadline=None)[source]¶ SQLAlchemy-powered project model.
-
classmethod
load
(project_elt, error_if_exists=True)[source]¶ Load a project from a XML element.
Parameters: - project_elt – (
lxml.etree.Element
instance) Project XML element. - error_if_exists – (boolean, default=True) It returns an error if project already exists.
Returns: (
pyramid.i18n.TranslationString
orNone
) Error message orNone
.- project_elt – (
-
xml
(request)[source]¶ Serialize a project to a XML representation.
Parameters: request – ( pyramid.request.Request
instance) Current request.Returns: ( lxml.etree.Element
)
-
classmethod
team_query
(project_id)[source]¶ Query to retrieve ID, login and name of each member of the project
project_id
.Parameters: project_id – (integer) Project ID. Returns: ( sqlalchemy.orm.query.Query
instance)
-
classmethod
The models.processings
Module¶
SQLAlchemy-powered model definition for project processings.
-
class
publiforge.models.processings.
Processing
(project_id, label, description, processor, output=None, add2pack=None, indirect=False)[source]¶ SQLAlchemy-powered project processing model.
-
classmethod
load
(project_id, processing_elt, check_if_exists=True)[source]¶ Load a processing from a XML element.
Parameters: - processing_elt – (
lxml.etree.Element
instance) Processing XML element. - check_if_exists – (boolean, default=True) Check if processing already exists before inserting.
Returns: (
pyramid.i18n.TranslationString
or integer) Error message or integer.- processing_elt – (
-
xml
(processor)[source]¶ Serialize a processing to a XML representation.
Parameters: processor – ( lxml.etree.ElementTree
instance) Processor of current processing.Returns: ( lxml.etree.Element
)
-
export_build_variables
(proc_elt, processor, pack, values)[source]¶ Read variable definitions in processor tree and fill
variables
XML structure for a build.Parameters: - proc_elt – (
lxml.etree.Element
instance) Processing element that binds the result. - processor – (
lxml.etree.ElementTree
instance) Processor of current processing. - pack – (
Pack
instance) Current pack. - values – (dictionary) Variables values.
- proc_elt – (
-
classmethod
The models.packs
Module¶
SQLAlchemy-powered model definition for project tasks.
-
class
publiforge.models.packs.
Pack
(project_id, label, description=None, recursive=False, note=None, pack_id=None, created=None, updated=None)[source]¶ SQLAlchemy-powered project pack model.
-
classmethod
load
(project_id, role_dict, processing_dict, task_dict, pack_elt, storage_root=None, pack_id=None)[source]¶ Load a pack from a XML element.
Parameters: - project_id – (integer) Project ID.
- role_dict – (dictionary) Relationship between XML ID and SQL ID for roles.
- processing_dict – (dictionary) Relationship between XML ID and SQL ID for processings.
- task_dict – (dictionary) Relationship between XML ID and SQL ID for tasks.
- pack_elt – (
lxml.etree.Element
instance) Pack XML element. - storage_root – (string, optional)
Full path to storage root directory. If
None
, files are not checked. - pack_id – (integer, optional) Forced pack ID.
Returns: (
pyramid.i18n.TranslationString
orPack
) Error message or new Pack object.
-
classmethod
-
class
publiforge.models.packs.
PackFile
(file_type, path, target=None, visible=None, sort=None)[source]¶ SQLAlchemy-powered project pack file model.
-
class
publiforge.models.packs.
PackVariable
(processing_id, name, value)[source]¶ SQLAlchemy-powered project pack variable model.
The models.tasks
Module¶
SQLAlchemy-powered model definition for project tasks.
-
class
publiforge.models.tasks.
Task
(project_id, label, description=None, deadline=None, operator_type='auto', operator_id=None)[source]¶ SQLAlchemy-powered task model.
-
classmethod
load
(project_id, role_dict, task_elt)[source]¶ Load a task from a XML element.
Parameters: - project_id – (integer) Project ID.
- task_elt – (
lxml.etree.Element
instance) Task XML element. - role_dict – (dictionary) Relationship between XML ID and SQL ID for roles.
Returns: (
pyramid.i18n.TranslationString
or integer) Error message ort ask ID.
-
classmethod
-
class
publiforge.models.tasks.
TaskProcessing
(project_id, task_id, processing_id)[source]¶ SQLAlchemy-powered processing task model.
-
classmethod
load
(project_id, task_dict, processing_dict, task_elt)[source]¶ Load a task processing from a XML file.
Parameters: - project_id – (integer) Project ID.
- task_dict – (dictionary) Relationship between XML ID and SQL ID for tasks.
- processings – (dictionary) Relationship between XML ID and SQL ID for processings.
- task_elt – (
lxml.etree.Element
instance) Task XML element.
-
classmethod
-
class
publiforge.models.tasks.
TaskLink
(project_id, task_id, target_id, link_type=None)[source]¶ SQLAlchemy-powered link task model.