- # Automatically register all providers.
- class __metaclass__(type):
- def __init__(provider, name, bases, dict):
- type.__init__(provider, name, bases, dict)
-
- # The main class from which is inherited is not registered
- # as a provider.
- if name == "DDNSProvider":
- return
-
- if not all((provider.handle, provider.name, provider.website)):
- raise DDNSError(_("Provider is not properly configured"))
-
- assert provider.handle not in _providers, \
- "Provider '%s' has already been registered" % provider.handle
-
- _providers[provider.handle] = provider
-