Improved a little the history freezers and values registers api

remotes/origin/enhancement/email-actions
Jesús Espino 2014-05-26 10:35:08 +02:00
parent f2e9c55a2c
commit 67a7723ab7
1 changed files with 18 additions and 20 deletions

View File

@ -68,17 +68,16 @@ def get_typename_for_model_class(model:object) -> str:
return "{0}.{1}".format(ct.app_label, ct.model) return "{0}.{1}".format(ct.app_label, ct.model)
def register_values_implementation(fn=None, *, typename:str=None): def register_values_implementation(typename:str, fn=None):
""" """
Register values implementation for specified typename. Register values implementation for specified typename.
This function can be used as decorator. This function can be used as decorator.
""" """
if fn is None: assert isinstance(typename, str), "typename must be specied"
return partial(register_values_implementation, typename=typename)
if typename is None: if fn is None:
raise RuntimeError("typename must be specied") return partial(register_values_implementation, typename)
@wraps(fn) @wraps(fn)
def _wrapper(*args, **kwargs): def _wrapper(*args, **kwargs):
@ -88,17 +87,16 @@ def register_values_implementation(fn=None, *, typename:str=None):
return _wrapper return _wrapper
def register_freeze_implementation(fn=None, *, typename:str=None): def register_freeze_implementation(typename:str, fn=None):
""" """
Register freeze implementation for specified typename. Register freeze implementation for specified typename.
This function can be used as decorator. This function can be used as decorator.
""" """
if fn is None: assert isinstance(typename, str), "typename must be specied"
return partial(register_freeze_implementation, typename=typename)
if typename is None: if fn is None:
raise RuntimeError("typename must be specied") return partial(register_freeze_implementation, typename)
@wraps(fn) @wraps(fn)
def _wrapper(*args, **kwargs): def _wrapper(*args, **kwargs):
@ -282,11 +280,11 @@ from .freeze_impl import issue_freezer
from .freeze_impl import task_freezer from .freeze_impl import task_freezer
from .freeze_impl import wikipage_freezer from .freeze_impl import wikipage_freezer
register_freeze_implementation(milestone_freezer, typename="milestones.milestone") register_freeze_implementation("milestones.milestone", milestone_freezer,)
register_freeze_implementation(userstory_freezer, typename="userstories.userstory") register_freeze_implementation("userstories.userstory", userstory_freezer)
register_freeze_implementation(issue_freezer, typename="issues.issue") register_freeze_implementation("issues.issue", issue_freezer)
register_freeze_implementation(task_freezer, typename="tasks.task") register_freeze_implementation("tasks.task", task_freezer)
register_freeze_implementation(wikipage_freezer, typename="wiki.wikipage") register_freeze_implementation("wiki.wikipage", wikipage_freezer)
from .freeze_impl import milestone_values from .freeze_impl import milestone_values
from .freeze_impl import userstory_values from .freeze_impl import userstory_values
@ -294,8 +292,8 @@ from .freeze_impl import issue_values
from .freeze_impl import task_values from .freeze_impl import task_values
from .freeze_impl import wikipage_values from .freeze_impl import wikipage_values
register_values_implementation(milestone_values, typename="milestones.milestone") register_values_implementation("milestones.milestone", milestone_values)
register_values_implementation(userstory_values, typename="userstories.userstory") register_values_implementation("userstories.userstory", userstory_values)
register_values_implementation(issue_values, typename="issues.issue") register_values_implementation("issues.issue", issue_values)
register_values_implementation(task_values, typename="tasks.task") register_values_implementation("tasks.task", task_values)
register_values_implementation(wikipage_values, typename="wiki.wikipage") register_values_implementation("wiki.wikipage", wikipage_values)