Ejemplo n.º 1
0
    def __repr__(self):
        args = ['{}={}'.format(unmangle_name(attr.name), repr(attr.__get__(self, None)))
                for klass, attr in self.iter_fields() if klass is self.__class__]

        return '{}({})'.format(self.__class__.__name__, ', '.join(args))
Ejemplo n.º 2
0
 def test_unmangle_name(self):
     self.assertEqual(unmangle_name('_Dummy__x'), 'x')
     self.assertEqual(unmangle_name('x'), 'x')
Ejemplo n.º 3
0
 def iter_fields(cls):
     for owner in reversed(cls.__mro__):
         if issubclass(owner, Record) and owner is not Record:
             for mangled_name in owner.__slots__:
                 yield owner, getattr(owner, unmangle_name(mangled_name))