Files
ServerSync/lib/jaraco/classes/__pycache__/meta.cpython-314.pyc

51 lines
3.3 KiB
Plaintext
Raw Normal View History

2026-02-19 00:55:27 +02:00
+
<00>;<3B>i<EFBFBD><00><01>j<00>Rt^RIHt^RIHt]'d^RIHt!RR]4t!RR]4tR#) z#
meta.py
Some useful metaclasses.
)<01> annotations)<01> TYPE_CHECKING)<01>Anyc<01>2<00>]tRt^t$RtR]R&RRltRtR#)<08>LeafClassesMetaa<61>
A metaclass for classes that keeps track of all of them that
aren't base classes.
>>> Parent = LeafClassesMeta('MyParentClass', (), {})
>>> Parent in Parent._leaf_classes
True
>>> Child = LeafClassesMeta('MyChildClass', (Parent,), {})
>>> Child in Parent._leaf_classes
True
>>> Parent in Parent._leaf_classes
False
>>> Other = LeafClassesMeta('OtherClass', (), {})
>>> Parent in Other._leaf_classes
False
>>> len(Other._leaf_classes)
1
zset[type[Any]]<5D> _leaf_classesc<01>(<00>V^8<>dQhRRRRRRRR/#) <09><00>name<6D>str<74>bases<65>tuple[type[object], ...]<5D>attrs<72>dict[str, object]<5D>return<72>None<6E>)<01>formats"<22>:/tmp/pip-target-ugtna5l2/lib/python/jaraco/classes/meta.py<70> __annotate__<5F>LeafClassesMeta.__annotate__&s2<00><00> #<23> #<23><11> #<23>(<28> #<23>!<21> #<23>
<0E> #<23>c <09><><00>\VR4'g\4Vn\VR4pVP V4V\V4,pR#)rN)<05>hasattr<74>setr<00>getattr<74>add)<05>clsr
r r<00> leaf_classess&&&& r<00>__init__<5F>LeafClassesMeta.__init__&sC<00><00> <17>s<EFBFBD>O<EFBFBD>,<2C>,<2C> #<23><05>C<EFBFBD> <1D><1E>s<EFBFBD>O<EFBFBD>4<> <0C><14><18><18><13><1D><14><03>E<EFBFBD>
<EFBFBD>"<22> rrN)<08>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__<5F>__doc__<5F>__annotations__r<00>__static_attributes__rrrrrs<00><00><08>("<22>!<21> #<23> #rrc<01>6a<00>]tRt^4tRtRtRV3RlltRtV;t#)<06> TagRegistereda!
As classes of this metaclass are created, they keep a registry in the
base class of all classes by a class attribute, indicated by attr_name.
>>> FooObject = TagRegistered('FooObject', (), dict(tag='foo'))
>>> FooObject._registry['foo'] is FooObject
True
>>> BarObject = TagRegistered('Barobject', (FooObject,), dict(tag='bar'))
>>> FooObject._registry is BarObject._registry
True
>>> len(FooObject._registry)
2
'...' below should be 'jaraco.classes' but for pytest-dev/pytest#3396
>>> FooObject._registry['bar']
<class '....meta.Barobject'>
<EFBFBD>tagc<01>(<00>V^8<>dQhRRRRRRRR/#) r r
r r r <00> namespacerrrr)rs"rr<00>TagRegistered.__annotate__Is2<00><00> &<26> &<26><11> &<26>(<28> &<26>%<25> &<26>
<0E> &rc <09><><<01>\\V` WV4\VR4'g/VnVP
p\ WPR4pV'dWPV&R#R#)<02> _registryN)<08>superr)rrr/<00> __class__r<00> attr_name)rr
r r,<00>meta<74>attrr1s&&&& <20>rr<00>TagRegistered.__init__IsW<00><><00> <0E>m<EFBFBD>S<EFBFBD>*<2A>4<EFBFBD> <09>B<><16>s<EFBFBD>K<EFBFBD>(<28>(<28><1E>C<EFBFBD>M<EFBFBD><12>}<7D>}<7D><04><16>s<EFBFBD>N<EFBFBD>N<EFBFBD>D<EFBFBD>1<><04> <0F>"%<25>M<EFBFBD>M<EFBFBD>$<24> <1F> rr) r!r"r#r$r%r2rr'<00> __classcell__)r1s@rr)r)4s<00><><00><08>$<16>I<EFBFBD> &<26> &rr)N) r%<00>
__future__r<00>typingrr<00>typerr)rrr<00><module>r:s1<00><01><04> #<23> <20><10><1A>"#<23>d<EFBFBD>"#<23>J!&<26>D<EFBFBD>!&r