Files
python-tests/python_annotation_test.py

38 lines
656 B
Python

def attr(cls):
cls._attr1 = 'test'
return cls
def attr2(*, name=None):
def attr2_cls(cls):
cls._attr_name_1 = name
return cls
return attr2_cls
class Attr:
controllers = []
def __init__(self, *, name=None):
self.__name = name
def __call__(self, cls):
Attr.controllers.append(cls)
cls._attr_name_2 = self.__name
return cls
@Attr(name='test2')
@attr2(name='test1')
@attr
class Class1:
pass
if __name__ == "__main__":
print(getattr(Class1, '_attr1'))
print(getattr(Class1, '_attr_name_1'))
print(getattr(Class1, '_attr_name_2'))
print(Attr.controllers)