Python types.DynamicClassAttribute() Examples
The following are 30
code examples of types.DynamicClassAttribute().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
types
, or try the search function
.
Example #1
Source File: test_pydoc.py From android_universal with MIT License | 6 votes |
def test_DynamicClassAttribute(self): class Meta(type): def __getattr__(self, name): if name == 'ham': return 'spam' return super().__getattr__(name) class DA(metaclass=Meta): @types.DynamicClassAttribute def ham(self): return 'eggs' expected_text_data_docstrings = tuple('\n | ' + s if s else '' for s in expected_data_docstrings) output = StringIO() helper = pydoc.Helper(output=output) helper(DA) expected_text = expected_dynamicattribute_pattern % ( (__name__,) + expected_text_data_docstrings[:2]) result = output.getvalue().strip() self.assertEqual(expected_text, result)
Example #2
Source File: test_dynamicclassattribute.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def test_property___isabstractmethod__descriptor(self): for val in (True, False, [], [1], '', '1'): class C(object): def foo(self): pass foo.__isabstractmethod__ = val foo = DynamicClassAttribute(foo) self.assertIs(C.__dict__['foo'].__isabstractmethod__, bool(val)) # check that the DynamicClassAttribute's __isabstractmethod__ descriptor does the # right thing when presented with a value that fails truth testing: class NotBool(object): def __bool__(self): raise ValueError() __len__ = __bool__ with self.assertRaises(ValueError): class C(object): def foo(self): pass foo.__isabstractmethod__ = NotBool() foo = DynamicClassAttribute(foo)
Example #3
Source File: test_pydoc.py From ironpython3 with Apache License 2.0 | 6 votes |
def test_DynamicClassAttribute(self): class Meta(type): def __getattr__(self, name): if name == 'ham': return 'spam' return super().__getattr__(name) class DA(metaclass=Meta): @types.DynamicClassAttribute def ham(self): return 'eggs' expected_text_data_docstrings = tuple('\n | ' + s if s else '' for s in expected_data_docstrings) output = StringIO() helper = pydoc.Helper(output=output) helper(DA) expected_text = expected_dynamicattribute_pattern % ( (__name__,) + expected_text_data_docstrings[:2]) result = output.getvalue().strip() if result != expected_text: print_diffs(expected_text, result) self.fail("outputs are not equal, see diff above")
Example #4
Source File: test_pydoc.py From Fluid-Designer with GNU General Public License v3.0 | 6 votes |
def test_DynamicClassAttribute(self): class Meta(type): def __getattr__(self, name): if name == 'ham': return 'spam' return super().__getattr__(name) class DA(metaclass=Meta): @types.DynamicClassAttribute def ham(self): return 'eggs' expected_text_data_docstrings = tuple('\n | ' + s if s else '' for s in expected_data_docstrings) output = StringIO() helper = pydoc.Helper(output=output) helper(DA) expected_text = expected_dynamicattribute_pattern % ( (__name__,) + expected_text_data_docstrings[:2]) result = output.getvalue().strip() self.assertEqual(expected_text, result)
Example #5
Source File: test_dynamicclassattribute.py From android_universal with MIT License | 6 votes |
def test_property___isabstractmethod__descriptor(self): for val in (True, False, [], [1], '', '1'): class C(object): def foo(self): pass foo.__isabstractmethod__ = val foo = DynamicClassAttribute(foo) self.assertIs(C.__dict__['foo'].__isabstractmethod__, bool(val)) # check that the DynamicClassAttribute's __isabstractmethod__ descriptor does the # right thing when presented with a value that fails truth testing: class NotBool(object): def __bool__(self): raise ValueError() __len__ = __bool__ with self.assertRaises(ValueError): class C(object): def foo(self): pass foo.__isabstractmethod__ = NotBool() foo = DynamicClassAttribute(foo)
Example #6
Source File: test_dynamicclassattribute.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def test_property___isabstractmethod__descriptor(self): for val in (True, False, [], [1], '', '1'): class C(object): def foo(self): pass foo.__isabstractmethod__ = val foo = DynamicClassAttribute(foo) self.assertIs(C.__dict__['foo'].__isabstractmethod__, bool(val)) # check that the DynamicClassAttribute's __isabstractmethod__ descriptor does the # right thing when presented with a value that fails truth testing: class NotBool(object): def __bool__(self): raise ValueError() __len__ = __bool__ with self.assertRaises(ValueError): class C(object): def foo(self): pass foo.__isabstractmethod__ = NotBool() foo = DynamicClassAttribute(foo)
Example #7
Source File: test_dynamicclassattribute.py From ironpython3 with Apache License 2.0 | 6 votes |
def test_property___isabstractmethod__descriptor(self): for val in (True, False, [], [1], '', '1'): class C(object): def foo(self): pass foo.__isabstractmethod__ = val foo = DynamicClassAttribute(foo) self.assertIs(C.__dict__['foo'].__isabstractmethod__, bool(val)) # check that the DynamicClassAttribute's __isabstractmethod__ descriptor does the # right thing when presented with a value that fails truth testing: class NotBool(object): def __bool__(self): raise ValueError() __len__ = __bool__ with self.assertRaises(ValueError): class C(object): def foo(self): pass foo.__isabstractmethod__ = NotBool() foo = DynamicClassAttribute(foo)
Example #8
Source File: test_pydoc.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 6 votes |
def test_DynamicClassAttribute(self): class Meta(type): def __getattr__(self, name): if name == 'ham': return 'spam' return super().__getattr__(name) class DA(metaclass=Meta): @types.DynamicClassAttribute def ham(self): return 'eggs' expected_text_data_docstrings = tuple('\n | ' + s if s else '' for s in expected_data_docstrings) output = StringIO() helper = pydoc.Helper(output=output) helper(DA) expected_text = expected_dynamicattribute_pattern % ( (__name__,) + expected_text_data_docstrings[:2]) result = output.getvalue().strip() self.assertEqual(expected_text, result)
Example #9
Source File: test_inspect.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_getmembers_VirtualAttribute(self): class M(type): def __getattr__(cls, name): if name == 'eggs': return 'scrambled' return super().__getattr__(name) class A(metaclass=M): @types.DynamicClassAttribute def eggs(self): return 'spam' self.assertIn(('eggs', 'scrambled'), inspect.getmembers(A)) self.assertIn(('eggs', 'spam'), inspect.getmembers(A()))
Example #10
Source File: test_inspect.py From ironpython3 with Apache License 2.0 | 5 votes |
def test_classVirtualAttribute(self): class Thing(object): @types.DynamicClassAttribute def x(self): return self._x _x = object() self.assertEqual(inspect.getattr_static(Thing, 'x'), Thing.__dict__['x'])
Example #11
Source File: enum.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def __reduce_ex__(self, proto): return self.__class__, (self._value_, ) # DynamicClassAttribute is used to provide access to the `name` and # `value` properties of enum members while keeping some measure of # protection from modification, while still allowing for an enumeration # to have members named `name` and `value`. This works because enumeration # members are not set directly on the enum class -- __getattr__ is # used to look them up.
Example #12
Source File: test_dynamicclassattribute.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_abstract_virtual(self): self.assertRaises(TypeError, ClassWithAbstractVirtualProperty) self.assertRaises(TypeError, ClassWithPropertyAbstractVirtual) class APV(ClassWithPropertyAbstractVirtual): pass self.assertRaises(TypeError, APV) class AVP(ClassWithAbstractVirtualProperty): pass self.assertRaises(TypeError, AVP) class Okay1(ClassWithAbstractVirtualProperty): @DynamicClassAttribute def color(self): return self._color def __init__(self): self._color = 'cyan' with self.assertRaises(AttributeError): Okay1.color self.assertEqual(Okay1().color, 'cyan') class Okay2(ClassWithAbstractVirtualProperty): @DynamicClassAttribute def color(self): return self._color def __init__(self): self._color = 'magenta' with self.assertRaises(AttributeError): Okay2.color self.assertEqual(Okay2().color, 'magenta') # Issue 5890: subclasses of DynamicClassAttribute do not preserve method __doc__ strings
Example #13
Source File: test_dynamicclassattribute.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_docstring_copy(self): class Foo(object): @PropertySub def spam(self): """spam wrapped in DynamicClassAttribute subclass""" return 1 self.assertEqual( Foo.__dict__['spam'].__doc__, "spam wrapped in DynamicClassAttribute subclass")
Example #14
Source File: test_inspect.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_classify_DynamicClassAttribute(self): class Meta(type): def __getattr__(self, name): if name == 'ham': return 'spam' return super().__getattr__(name) class VA(metaclass=Meta): @types.DynamicClassAttribute def ham(self): return 'eggs' should_find_dca = inspect.Attribute('ham', 'data', VA, VA.__dict__['ham']) self.assertIn(should_find_dca, inspect.classify_class_attrs(VA)) should_find_ga = inspect.Attribute('ham', 'data', Meta, 'spam') self.assertIn(should_find_ga, inspect.classify_class_attrs(VA))
Example #15
Source File: test_inspect.py From ironpython3 with Apache License 2.0 | 5 votes |
def test_classify_DynamicClassAttribute(self): class Meta(type): def __getattr__(self, name): if name == 'ham': return 'spam' return super().__getattr__(name) class VA(metaclass=Meta): @types.DynamicClassAttribute def ham(self): return 'eggs' should_find_dca = inspect.Attribute('ham', 'data', VA, VA.__dict__['ham']) self.assertIn(should_find_dca, inspect.classify_class_attrs(VA)) should_find_ga = inspect.Attribute('ham', 'data', Meta, 'spam') self.assertIn(should_find_ga, inspect.classify_class_attrs(VA))
Example #16
Source File: test_inspect.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_classVirtualAttribute(self): class Thing(object): @types.DynamicClassAttribute def x(self): return self._x _x = object() self.assertEqual(inspect.getattr_static(Thing, 'x'), Thing.__dict__['x'])
Example #17
Source File: enum.py From android_universal with MIT License | 5 votes |
def __reduce_ex__(self, proto): return self.__class__, (self._value_, ) # DynamicClassAttribute is used to provide access to the `name` and # `value` properties of enum members while keeping some measure of # protection from modification, while still allowing for an enumeration # to have members named `name` and `value`. This works because enumeration # members are not set directly on the enum class -- __getattr__ is # used to look them up.
Example #18
Source File: test_dynamicclassattribute.py From android_universal with MIT License | 5 votes |
def test_abstract_virtual(self): self.assertRaises(TypeError, ClassWithAbstractVirtualProperty) self.assertRaises(TypeError, ClassWithPropertyAbstractVirtual) class APV(ClassWithPropertyAbstractVirtual): pass self.assertRaises(TypeError, APV) class AVP(ClassWithAbstractVirtualProperty): pass self.assertRaises(TypeError, AVP) class Okay1(ClassWithAbstractVirtualProperty): @DynamicClassAttribute def color(self): return self._color def __init__(self): self._color = 'cyan' with self.assertRaises(AttributeError): Okay1.color self.assertEqual(Okay1().color, 'cyan') class Okay2(ClassWithAbstractVirtualProperty): @DynamicClassAttribute def color(self): return self._color def __init__(self): self._color = 'magenta' with self.assertRaises(AttributeError): Okay2.color self.assertEqual(Okay2().color, 'magenta') # Issue 5890: subclasses of DynamicClassAttribute do not preserve method __doc__ strings
Example #19
Source File: test_dynamicclassattribute.py From android_universal with MIT License | 5 votes |
def test_docstring_copy(self): class Foo(object): @PropertySub def spam(self): """spam wrapped in DynamicClassAttribute subclass""" return 1 self.assertEqual( Foo.__dict__['spam'].__doc__, "spam wrapped in DynamicClassAttribute subclass")
Example #20
Source File: backport_enum.py From python-memoization with MIT License | 5 votes |
def __reduce_ex__(self, proto): return self.__class__, (self._value_, ) # DynamicClassAttribute is used to provide access to the `name` and # `value` properties of enum members while keeping some measure of # protection from modification, while still allowing for an enumeration # to have members named `name` and `value`. This works because enumeration # members are not set directly on the enum class -- __getattr__ is # used to look them up.
Example #21
Source File: enum.py From Imogen with MIT License | 5 votes |
def __reduce_ex__(self, proto): return self.__class__, (self._value_, ) # DynamicClassAttribute is used to provide access to the `name` and # `value` properties of enum members while keeping some measure of # protection from modification, while still allowing for an enumeration # to have members named `name` and `value`. This works because enumeration # members are not set directly on the enum class -- __getattr__ is # used to look them up.
Example #22
Source File: enum.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def __reduce_ex__(self, proto): return self.__class__, (self._value_, ) # DynamicClassAttribute is used to provide access to the `name` and # `value` properties of enum members while keeping some measure of # protection from modification, while still allowing for an enumeration # to have members named `name` and `value`. This works because enumeration # members are not set directly on the enum class -- __getattr__ is # used to look them up.
Example #23
Source File: test_dynamicclassattribute.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def test_abstract_virtual(self): self.assertRaises(TypeError, ClassWithAbstractVirtualProperty) self.assertRaises(TypeError, ClassWithPropertyAbstractVirtual) class APV(ClassWithPropertyAbstractVirtual): pass self.assertRaises(TypeError, APV) class AVP(ClassWithAbstractVirtualProperty): pass self.assertRaises(TypeError, AVP) class Okay1(ClassWithAbstractVirtualProperty): @DynamicClassAttribute def color(self): return self._color def __init__(self): self._color = 'cyan' with self.assertRaises(AttributeError): Okay1.color self.assertEqual(Okay1().color, 'cyan') class Okay2(ClassWithAbstractVirtualProperty): @DynamicClassAttribute def color(self): return self._color def __init__(self): self._color = 'magenta' with self.assertRaises(AttributeError): Okay2.color self.assertEqual(Okay2().color, 'magenta') # Issue 5890: subclasses of DynamicClassAttribute do not preserve method __doc__ strings
Example #24
Source File: test_dynamicclassattribute.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def test_docstring_copy(self): class Foo(object): @PropertySub def spam(self): """spam wrapped in DynamicClassAttribute subclass""" return 1 self.assertEqual( Foo.__dict__['spam'].__doc__, "spam wrapped in DynamicClassAttribute subclass")
Example #25
Source File: test_inspect.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def test_classify_DynamicClassAttribute(self): class Meta(type): def __getattr__(self, name): if name == 'ham': return 'spam' return super().__getattr__(name) class VA(metaclass=Meta): @types.DynamicClassAttribute def ham(self): return 'eggs' should_find_dca = inspect.Attribute('ham', 'data', VA, VA.__dict__['ham']) self.assertIn(should_find_dca, inspect.classify_class_attrs(VA)) should_find_ga = inspect.Attribute('ham', 'data', Meta, 'spam') self.assertIn(should_find_ga, inspect.classify_class_attrs(VA))
Example #26
Source File: test_inspect.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def test_getmembers_VirtualAttribute(self): class M(type): def __getattr__(cls, name): if name == 'eggs': return 'scrambled' return super().__getattr__(name) class A(metaclass=M): @types.DynamicClassAttribute def eggs(self): return 'spam' self.assertIn(('eggs', 'scrambled'), inspect.getmembers(A)) self.assertIn(('eggs', 'spam'), inspect.getmembers(A()))
Example #27
Source File: test_inspect.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def test_classVirtualAttribute(self): class Thing(object): @types.DynamicClassAttribute def x(self): return self._x _x = object() self.assertEqual(inspect.getattr_static(Thing, 'x'), Thing.__dict__['x'])
Example #28
Source File: test_inspect.py From ironpython3 with Apache License 2.0 | 5 votes |
def test_getmembers_VirtualAttribute(self): class M(type): def __getattr__(cls, name): if name == 'eggs': return 'scrambled' return super().__getattr__(name) class A(metaclass=M): @types.DynamicClassAttribute def eggs(self): return 'spam' self.assertIn(('eggs', 'scrambled'), inspect.getmembers(A)) self.assertIn(('eggs', 'spam'), inspect.getmembers(A()))
Example #29
Source File: enum.py From ironpython3 with Apache License 2.0 | 5 votes |
def __reduce_ex__(self, proto): return self.__class__, (self._value_, ) # DynamicClassAttribute is used to provide access to the `name` and # `value` properties of enum members while keeping some measure of # protection from modification, while still allowing for an enumeration # to have members named `name` and `value`. This works because enumeration # members are not set directly on the enum class -- __getattr__ is # used to look them up.
Example #30
Source File: test_dynamicclassattribute.py From ironpython3 with Apache License 2.0 | 5 votes |
def test_abstract_virtual(self): self.assertRaises(TypeError, ClassWithAbstractVirtualProperty) self.assertRaises(TypeError, ClassWithPropertyAbstractVirtual) class APV(ClassWithPropertyAbstractVirtual): pass self.assertRaises(TypeError, APV) class AVP(ClassWithAbstractVirtualProperty): pass self.assertRaises(TypeError, AVP) class Okay1(ClassWithAbstractVirtualProperty): @DynamicClassAttribute def color(self): return self._color def __init__(self): self._color = 'cyan' with self.assertRaises(AttributeError): Okay1.color self.assertEqual(Okay1().color, 'cyan') class Okay2(ClassWithAbstractVirtualProperty): @DynamicClassAttribute def color(self): return self._color def __init__(self): self._color = 'magenta' with self.assertRaises(AttributeError): Okay2.color self.assertEqual(Okay2().color, 'magenta') # Issue 5890: subclasses of DynamicClassAttribute do not preserve method __doc__ strings