attrcheck

A simple attribution checker implemented as a decorator


Keywords
argument, check, hasattr, decorator
License
ISC
Install
pip install attrcheck==0.1.2

Documentation

attrcheck: attribution checker for Python

Copyright (c) 2011, Jun Namikawa <jnamika@gmail.com>
License: ISC License (ISCL)


This is a simple attribution checker implemented as a decorator for Python.
All functionality are provided as keyword arguments of the decorator.


=== Example ===

    from attrcheck import attrcheck
    @attrcheck(x=['real'], y=['index', 'strip'], z=dir(list))
    def foo(x, y, z=[]): pass

The code above means the following:

    def foo(x, y, z=[]):
        if not hasattr(x, 'real'):
            raise AttributeError
        if not hasattr(y, 'index'):
            raise AttributeError
        if not hasattr(y, 'strip'):
            raise AttributeError
        for name in dir(list):
            if not hasattr(z, name):
                raise AttributeError

In addition, attrcheck can check default argument values.
Thus, the following code throws AttributeError.

    @attrcheck(y=dir(str))
    def bar(x, y=[]): pass