Ñò $·!Gc @ s« d d k l Z l Z l Z d d k l Z d d k Z d d d d g Z h Z d „ Z d „ Z d e f d „ ƒ YZ d e f d „ ƒ YZ d e e f d „ ƒ YZ d S( iÿÿÿÿ( t decoratet decorate_classt enclosing_frame( t refNt AddOnt ClassAddOnt Registryt addons_forc C s y | i } | i } | SWn` t t f j oN t | ƒ } y t | SWq} t j o t i t | t i ƒ h ƒ SXn Xd S( s7 Get the dictionary that should contain add-ons for `ob`N( t __dict__t setdefaultt AttributeErrort TypeErrorR t _addonst KeyErrort __delitem__( t obt dt sdt r( ( s4 /usr/lib/python2.6/site-packages/peak/util/addons.pyR s c C s/ d d k } | i d d d d | i | i BƒS( Niÿÿÿÿs README.txtt packaget __main__t optionflags( t doctestt DocFileSuitet ELLIPSISt NORMALIZE_WHITESPACE( R ( ( s4 /usr/lib/python2.6/site-packages/peak/util/addons.pyt additional_tests s c B sl e Z d Z d Z d e f d „ ƒ YZ e e ƒ d „ Z e e ƒ d „ Z e e ƒ d „ Z d „ Z RS( s) Attach extra state to (almost) any objectt __metaclass__c B s e Z d „ Z RS( c G sc t | ƒ } | i | Œ } y | | SWn5 t j o) | i | t i | | | Œ ƒ } | SXd S( N( R t addon_keyR R t typet __call__( t clsR t datat aR ( ( s4 /usr/lib/python2.6/site-packages/peak/util/addons.pyR 0 s !( t __name__t __module__R ( ( ( s4 /usr/lib/python2.6/site-packages/peak/util/addons.pyR / s c G s | o | f | S| S( N( ( R t args( ( s4 /usr/lib/python2.6/site-packages/peak/util/addons.pyR ; s c G s | i | Œ t | ƒ j S( s4 Does an aspect of this type for the given key exist?( R R ( R R t key( ( s4 /usr/lib/python2.6/site-packages/peak/util/addons.pyt exists_for@ s c G s: t | ƒ } y | | i | Œ =Wn t j o n Xd S( s> Ensure an aspect of this type for the given key does not existN( R R R ( R R R% R! ( ( s4 /usr/lib/python2.6/site-packages/peak/util/addons.pyt delete_fromE s c C s d S( N( ( t selft subject( ( s4 /usr/lib/python2.6/site-packages/peak/util/addons.pyt __init__M s ( ( R" R# t __doc__t __slots__R R R t classmethodR R&