Home > attrcheck

attrcheck

Attrcheck is a project mainly written in Python, it's free.

attribution checker for python implemented as a decorator

attrcheck: attribution checker for Python

Copyright (c) 2011, Jun Namikawa [email protected] 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