Files
tryton/trytond/doc/ref/pool.rst
T

98 lines
2.0 KiB
ReStructuredText

.. _ref-pool:
.. module:: trytond.pool
Pool
====
.. class:: Pool([database_name])
Store the instances of :class:`~trytond.model.Model`,
:class:`~trytond.wizard.Wizard` and *Report* per database.
Static methods:
.. staticmethod:: Pool.register(klass, ..., type_, module[, depends])
Register the classes of type (``model``, ``report`` or ``wizard``) for the
module.
If ``depends`` is set, the registration happens only if all the modules are
activated.
.. staticmethod:: Pool.register_mixin(mixin, classinfo, module)
Register the mixin for the module.
The ``mixin`` are included to all subclasses of ``classinfo``.
Class methods:
.. classmethod:: Pool.start()
Start the pool by registering all Tryton modules found.
.. classmethod:: Pool.stop(database_name)
Stop the pool by removing instances for the database.
.. classmethod:: Pool.database_list()
List all started databases.
Instance methods:
.. method:: Pool.get(name[, type])
Return the named object of ``type`` from the pool.
.. method:: Pool.iterobject([type])
Return an interator over objects of ``type``.
.. method:: Pool.fill(module, modules)
Fill the pool with the registered classes from the module and for the
activated modules and return a list of classes for each type in a
dictionary.
.. method:: Pool.setup([classes])
Call all setup methods of the classes provided or for all the registered
classes.
.. method:: Pool.setup_mixin([type[, name]])
Include all the mixin registered for the filled modules to the corresponding
registered type of classes or named.
PoolMeta
--------
.. class:: PoolMeta
A metaclass helper to setup __name__ on class to be registered in the
:class:`Pool`.
PoolBase
--------
.. class:: PoolBase
The base class of registered classes.
Class methods:
.. classmethod:: PoolBase.__setup__()
Setup the class.
.. classmethod:: PoolBase.__post_setup__()
Post setup the class.
.. classmethod:: PoolBase.__register__()
Registare the class.