_CIPHER = _bin('cipher:')
_MAC = _bin('mac:')
+def _with_metaclass(meta, *supers):
+ return meta("#<anonymous base %s>" % meta.__name__,
+ supers or (object,), dict())
+
def _excval(): return SYS.exc_info()[1]
_M600 = int("600", 8)
except AttributeError: pass
else: StorageBackend.register_concrete_subclass(me)
-class StorageBackend (object):
+class StorageBackend (_with_metaclass(StorageBackendClass)):
"""
I provide basic protocol for password storage backends.
priority order when opening an existing database.
"""
- __metaclass__ = StorageBackendClass
PRIO = 10
## The registry of subclasses.