def propertx(fct):
    """
        Decorator to simplify the use of property.
        Like @property for attrs who need more than a getter.
        For getter only property use @property.

        adapted from http://code.activestate.com/recipes/502243/
    """
    arg = [None, None, None, None]
    for i, f in enumerate(fct()):
        arg[i] = f
    if not arg[3]:
        arg[3] = fct.__doc__
    return property(*arg)
