djblets.configforms.registry¶
A registry for configuration forms and pages.
-
class
ConfigPageFormRegistry
[source]¶ Bases:
djblets.registries.registry.OrderedRegistry
A registry for managing configuration page forms.
-
default_errors
= {u'already_registered': _(u'Could not register form %(item)r: This form is already registered.'), u'attribute_registered': _(u'Could not register form %(item)r: Another form (%(duplicate)r) is already registered with %(attr_name)s = %(attr_value)s.'), u'invalid_attribute': _(u'"%(attr_name)s" is not a registered lookup attribute.'), u'load_entry_point': _(u'Could not load entry point %(entry_point)s: %(error)s.'), u'missing_attribute': _(u'Could not register %(item)s: it does not have a "%(attr_name)s" attribute.'), u'not_registered': _(u'No item registered with %(attr_name)s = %(attr_value)s.'), u'unregister': _(u'Could not unregister %(item)s: it is not registered.')}[source]¶
-
-
class
ConfigPageRegistry
[source]¶ Bases:
djblets.registries.registry.OrderedRegistry
A registry for managing configuration pages.
This allows subclasses to dynamically change which pages are available, as well as which forms are available on each page.
The pages managed by this registry must subclass
DynamicConfigPageMixin
.-
default_errors
= {u'already_registered': _(u'Could not register page %(item)s: This page is already registered.'), u'attribute_registered': _(u'Could not register page %(item)s: Another page (%(duplicate)s) is already registered with %(attr_name)s = %(attr_value)s.'), u'form_already_registered': _(u'Could not register page %(page)s: One of its forms (%(form)s) has already been registered with the %(duplicate)s page.'), u'invalid_attribute': _(u'"%(attr_name)s" is not a registered lookup attribute.'), u'load_entry_point': _(u'Could not load entry point %(entry_point)s: %(error)s.'), u'missing_attribute': _(u'Could not register %(item)s: it does not have a "%(attr_name)s" attribute.'), u'not_registered': _(u'No item registered with %(attr_name)s = %(attr_value)s.'), u'unregister': _(u'Failed to unregister unknown account page %(item)s: This page is is not registered.')}[source]¶
-
register
(page_class)[source]¶ Register a configuration page class.
A page ID is considered unique and can only be registered once.
This will also register all form classes on the page. If registration for any form fails, registration for the entire class will fail. In this case, the page will become unregistered, as well as any forms on that page that were successfully registered.
Parameters: page_class (type) – The page class to register, as a subclass of
djblets.configforms.pages.ConfigPage
.Raises: djblets.registries.errors.AlreadyRegisteredError
– Raised if the page has already been registered.djblets.registries.errors.RegistrationError
– Raised if the page shares an attribute with an already registered page or if any of its forms share an attribute with an already registered form.
-
unregister
(page_class, registered_forms=None)[source]¶ Unregister a configuration page class.
Parameters: - page_class (type) – The page class to unregister, as a subclass of
djblets.configforms.pages.ConfigPage
. - registered_forms (list, optional) – The forms that have been successfully registered for the class. This attribute is only used when registration of forms was only partially successful.
Raises: djblets.registries.errors.ItemLookupError
– Raised when the specified class or form is not registered.- page_class (type) – The page class to unregister, as a subclass of
-
add_form_to_page
(page_class, form_class)[source]¶ Add a form to the page.
Callers should prefer to use
add_form()
over this method.Parameters: - page_class (type) – The page to add the form to, as a subclass of
djblets.configforms.pages.ConfigPage
. - form_class (type) – The form to add to the page, as a subclass of
djblets.configforms.page.ConfigPage
.
Raises: djblets.registries.errors.AlreadyRegisteredError
– Raised if the form has already been registered.djblets.registries.errors.RegistrationError
– Raised if the form shares an attribute with an already registered form.
- page_class (type) – The page to add the form to, as a subclass of
-
remove_form_from_page
(page_class, form_class)[source]¶ Remove a form from the page.
Callers should prefer to use
remove_form()
over this method.Parameters: - page_class (type) – The page to remove the form from, as a subclass of
djblets.configforms.pages.ConfigPage
. - form_class (type) – The form to remove from the page, as a subclass of
djblets.configforms.forms.ConfigPageForm
.
Raises: djblets.registries.errors.ItemLookupError
– Raised if the form was not previously registered.- page_class (type) – The page to remove the form from, as a subclass of
-