;ò ʉAAc@sÎdklZdkTdkTdklZdefd„ƒYZdfd„ƒYZdfd„ƒYZd „Zd „Z e d e e d „Z d „Z d„Z d„Zd„Zd„Zd„Zd„ZdS((sUserDict(s*(sinit_conf_dicts RecipeDictcBsGtZdZed„Zd„Zd„Zd„Zd„Zd„Z RS(s­This simulates a dictionary. What is missing from UserDict is the methods to get/set attributes. These are required for using the class in place of a module.cCs+ti|ƒ|o|iƒ|_ndS(N(sUserDicts__init__sselfs init_dictscopysdata(sselfs init_dict((s*/mnt/gmirror/ports/devel/aap/work/Scope.pys__init__'s cCs|i|SdS(N(sselfsdataskey(sselfskey((s*/mnt/gmirror/ports/devel/aap/work/Scope.pys __getattr__/scCs/|djo||i||ii|ƒp'|iidƒo|idi|ƒSdS(Ns_up(sselfsdatashas_keyskey(sselfskey((s*/mnt/gmirror/ports/devel/aap/work/Scope.pyshas_keyqscCsg|ii|ƒo|i|Sn|iidƒo|idi|ƒo|id|Sn|SdS(Ns_up(sselfsdatashas_keyskeysf(sselfskeysf((s*/mnt/gmirror/ports/devel/aap/work/Scope.pysgetus *cCs—|iiƒ}|iidƒo|i|idiƒƒnt|ƒd}x<|djo.|||| jo ||=n|d}qSW|SdS(Ns_upii(sselfsdataskeysslshas_keysextendslensi(sselfsisl((s*/mnt/gmirror/ports/devel/aap/work/Scope.pyskeys|s  cCs|i|=dS(N(sselfsdataskey(sselfskey((s*/mnt/gmirror/ports/devel/aap/work/Scope.pys __delattrŒscCs|i|=dS(N(sselfsdataskey(sselfskey((s*/mnt/gmirror/ports/devel/aap/work/Scope.pys __delitem__scCsIt|iƒ}|iidƒo|dt|idƒ}n|SdS(Ns_ups ; _up stack: (sstrsselfsdatassshas_key(sselfss((s*/mnt/gmirror/ports/devel/aap/work/Scope.pys__str__”scCs'tƒ}|iiƒ|id<|SdS(Nsdata(s NoScopeDictscsselfsdatascopys__dict__(sselfsc((s*/mnt/gmirror/ports/devel/aap/work/Scope.pyscopyšs cCst|iƒƒSdS(N(slensselfskeys(sself((s*/mnt/gmirror/ports/devel/aap/work/Scope.pys__len__ scCs|iƒdjSdS(Ni(sselfs__len__(sself((s*/mnt/gmirror/ports/devel/aap/work/Scope.pys __nonzero__£scCs>|ii|ƒp'|iidƒo|idi|ƒSdS(Ns_up(sselfsdatas __contains__skeyshas_key(sselfskey((s*/mnt/gmirror/ports/devel/aap/work/Scope.pys __contains__¦scCsR|iƒ}x;tt|ƒƒD]'}|||i||ƒf||