mirror of
https://github.com/netbox-community/netbox.git
synced 2025-12-11 19:09:36 -06:00
* 15049 add missing gettext to error strings * 15049 add missing gettext to error strings * 15094 review change * 15094 review change * Formatting cleanup --------- Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
import collections
|
|
from django.utils.translation import gettext as _
|
|
|
|
|
|
class Registry(dict):
|
|
"""
|
|
Central registry for registration of functionality. Once a Registry is initialized, keys cannot be added or
|
|
removed (though the value of each key is mutable).
|
|
"""
|
|
def __getitem__(self, key):
|
|
try:
|
|
return super().__getitem__(key)
|
|
except KeyError:
|
|
raise KeyError(_("Invalid store: {key}").format(key=key))
|
|
|
|
def __setitem__(self, key, value):
|
|
raise TypeError(_("Cannot add stores to registry after initialization"))
|
|
|
|
def __delitem__(self, key):
|
|
raise TypeError(_("Cannot delete stores from registry"))
|
|
|
|
|
|
# Initialize the global registry
|
|
registry = Registry({
|
|
'counter_fields': collections.defaultdict(dict),
|
|
'data_backends': dict(),
|
|
'denormalized_fields': collections.defaultdict(list),
|
|
'model_features': dict(),
|
|
'models': collections.defaultdict(set),
|
|
'plugins': dict(),
|
|
'search': dict(),
|
|
'tables': collections.defaultdict(dict),
|
|
'views': collections.defaultdict(dict),
|
|
'widgets': dict(),
|
|
})
|