Jump to >

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.

lookup_attrs = (u'form_id',)[source]
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.

lookup_attrs = (u'page_id',)[source]
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]
__init__()[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:
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.

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:
Raises:
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:
Raises:

djblets.registries.errors.ItemLookupError – Raised if the form was not previously registered.