Try to add rules for normalizers.

This commit is contained in:
Dave Halter
2017-05-28 17:14:20 +02:00
parent d774bdd8f7
commit a276c0b42d

View File

@@ -1,4 +1,16 @@
class Normalizer():
class Normalizer(object):
@classmethod
def register_rule(cls, rule):
"""
Use it as a class decorator:
>>> normalizer = Normalizer()
>>> @normalizer.register_rule
>>> class MyRule(Rule):
>>> error_code = 42
"""
return rule
def normalize(self, leaf):
return leaf.prefix + leaf.value
@@ -6,8 +18,14 @@ class Normalizer():
return iter([])
class Error():
class Error(object):
def __init__(self, leaf, code, message):
self._leaf = leaf
self.code = code
self.message = message
class Rule(object):
error_code = None
message = None
type = None