mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00
Generalize naming of module dispatch decorator factory
This commit is contained in:
parent
eda1c1bf55
commit
c9766b5e92
@ -6,14 +6,14 @@ import rethinkdb as r
|
|||||||
|
|
||||||
from bigchaindb import backend, util
|
from bigchaindb import backend, util
|
||||||
from bigchaindb.common import exceptions
|
from bigchaindb.common import exceptions
|
||||||
from bigchaindb.backend.utils import make_module_dispatch_registrar
|
from bigchaindb.backend.utils import module_dispatch_registrar
|
||||||
from bigchaindb.backend.rethinkdb.connection import RethinkDBConnection
|
from bigchaindb.backend.rethinkdb.connection import RethinkDBConnection
|
||||||
|
|
||||||
|
|
||||||
READ_MODE = 'majority'
|
READ_MODE = 'majority'
|
||||||
WRITE_DURABILITY = 'hard'
|
WRITE_DURABILITY = 'hard'
|
||||||
|
|
||||||
register_query = make_module_dispatch_registrar(backend.query)
|
register_query = module_dispatch_registrar(backend.query)
|
||||||
|
|
||||||
|
|
||||||
@register_query(RethinkDBConnection)
|
@register_query(RethinkDBConnection)
|
||||||
|
@ -6,12 +6,12 @@ import rethinkdb as r
|
|||||||
|
|
||||||
from bigchaindb import backend
|
from bigchaindb import backend
|
||||||
from bigchaindb.common import exceptions
|
from bigchaindb.common import exceptions
|
||||||
from bigchaindb.backend.utils import make_module_dispatch_registrar
|
from bigchaindb.backend.utils import module_dispatch_registrar
|
||||||
from bigchaindb.backend.rethinkdb.connection import RethinkDBConnection
|
from bigchaindb.backend.rethinkdb.connection import RethinkDBConnection
|
||||||
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
register_schema = make_module_dispatch_registrar(backend.schema)
|
register_schema = module_dispatch_registrar(backend.schema)
|
||||||
|
|
||||||
|
|
||||||
@register_schema(RethinkDBConnection)
|
@register_schema(RethinkDBConnection)
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
class BackendModuleDispatchRegisterError(Exception):
|
class ModuleDispatchRegistrationError(Exception):
|
||||||
"""Raised when there is a problem registering dispatched functions for a
|
"""Raised when there is a problem registering dispatched functions for a
|
||||||
backend module"""
|
module"""
|
||||||
|
|
||||||
|
|
||||||
def make_module_dispatch_registrar(module):
|
def module_dispatch_registrar(module):
|
||||||
def dispatch_wrapper(obj_type):
|
def dispatch_wrapper(obj_type):
|
||||||
def wrapper(func):
|
def wrapper(func):
|
||||||
func_name = func.__name__
|
func_name = func.__name__
|
||||||
@ -11,10 +11,10 @@ def make_module_dispatch_registrar(module):
|
|||||||
dispatch_registrar = getattr(module, func_name)
|
dispatch_registrar = getattr(module, func_name)
|
||||||
return dispatch_registrar.register(obj_type)(func)
|
return dispatch_registrar.register(obj_type)(func)
|
||||||
except AttributeError as ex:
|
except AttributeError as ex:
|
||||||
raise BackendModuleDispatchRegisterError(
|
raise ModuleDispatchRegistrationError(
|
||||||
("'{module}' does not contain a single-dispatchable "
|
("`{module}` does not contain a single-dispatchable "
|
||||||
"function named '{func}'. The backend being used has not "
|
"function named `{func}`. The module being registered "
|
||||||
"been implemented correctly!").format(
|
"was not implemented correctly!").format(
|
||||||
func=func_name, module=module.__name__)) from ex
|
func=func_name, module=module.__name__)) from ex
|
||||||
return wrapper
|
return wrapper
|
||||||
return dispatch_wrapper
|
return dispatch_wrapper
|
||||||
|
Loading…
x
Reference in New Issue
Block a user