Try to implement some of the pydocstyle functionality in the normalizer function.

This commit is contained in:
Dave Halter
2017-06-04 18:13:29 +02:00
parent e82976fb37
commit f13643b6cd
4 changed files with 154 additions and 23 deletions

View File

@@ -1,10 +1,34 @@
from contextlib import contextmanager
class Normalizer(object):
def __init__(self, config):
self._config = config
self.issues = []
@contextmanager
def visit_node(self):
yield
def normalize(self, leaf):
return leaf.prefix + leaf.value
class NormalizerConfig(object):
normalizer_class = Normalizer
def create_normalizer(self):
if self.normalizer_class is None:
return None
return self.normalizer_class(self)
@classmethod
def register_rule(cls, rule):
"""
Use it as a class decorator:
>>> normalizer = Normalizer()
>>> normalizer = NormalizerConfig()
>>> @normalizer.register_rule
... class MyRule(Rule):
... error_code = 42
@@ -16,12 +40,6 @@ class Normalizer(object):
rules.append(rule)
return rule
def normalize(self, leaf):
return leaf.prefix + leaf.value
def iter_errors(self, leaf):
return iter([])
class Error(object):
def __init__(self, leaf, code, message):