TODO & Ideas

Validation

class BaseProcessor(object):
 def process_foo(self, data):
 # do some work
 def process_bar(self, data):
 # do some work
class ValidationConcern(aspectlib.Concern):
 @aspectlib.Aspect
 def process_foo(self, data):
 # validate data
 if is_valid_foo(data):
 yield aspectlib.Proceed
 else:
 raise ValidationError()
 @aspectlib.Aspect
 def process_bar(self, data):
 # validate data
 if is_valid_bar(data):
 yield aspectlib.Proceed
 else:
 raise ValidationError()
aspectlib.weave(BaseProcesor, ValidationConcern)
class MyProcessor(BaseProcessor):
 def process_foo(self, data):
 # do some work
 def process_bar(self, data):
 # do some work
# MyProcessor automatically inherits BaseProcesor's ValidationConcern