;ò ó0èBc@sndklZlZdklZdklZdklZdk l Z l Z dk l Z dklZdklZdklZd klZd klZd klZd klZd klZdklZdkl Z dZ!defd„ƒYZ"d„Z#dfd„ƒYZ$ee$ƒde$fd„ƒYZ%ee%ƒde$fd„ƒYZ&ee&ƒddfZ'dS((sListTypes TupleType(sStringIO(sMessage(sFile(s TextFields FileField(s IMarshall(sILayer(s IBaseUnit(slog(sshasattr(smapply(saq_base(sguess_content_type(sformatRFC822Headers(sInitializeClass(sClassSecurityInfosititle: a title content-type: text/plain keywords: foo mixedCase: a MiXeD case keyword This is the body. sNonLoweringMessagecBs)tZdZd„Zed„ZeZRS(s®A RFC 822 Message class that doesn't lower header names IMPORTANT: Only a small subset of the available methods aren't lowering the header names! cCs0|idƒ}|djo || SntSdS(s:Determine whether a given line is a legal header. s:iN(slinesfindsisNone(sselfslinesi((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pysisheader$s   cCs-y|i|SWntj o |SnXdS(s)Get the header value for a name. N(sselfsdictsnamesKeyErrorsdefault(sselfsnamesdefault((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pys getheader.s (s__name__s __module__s__doc__sisheadersNones getheadersget(((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pysNonLoweringMessages  cCset|ƒ}t|ƒ}h}x0|iƒD]"}di|i |ƒƒ||>> headers, body = parseRFC822(sample_data) >>> keys = headers.keys(); keys.sort() >>> for key in keys: ... key, headers[key] ('content-type', 'text/plain') ('keywords', 'foo') ('mixedCase', 'a MiXeD case keyword') ('title', 'a title') >>> print body This is the body. s N( sStringIOsbodysbuffersNonLoweringMessagesmessagesheadersskeysskeysjoins getheaderssread(sbodysbuffersheadersskeysmessage((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pys parseRFC8228s    s MarshallercBs…tZeefZeƒZeiƒeidƒe e d„Z e e d„Z e e d„Z d„Z d„Zd„Zd„ZRS( NsdenycCs||_||_dS(N(sdemarshall_hooksselfs marshall_hook(sselfsdemarshall_hooks marshall_hook((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pys__init__[s cCstt}t}|itj ot||itƒ}n|itj ot||itƒ}n||_||_dS(N(sNonesdm_hooksm_hooksselfsdemarshall_hooksgetattrsinstances marshall_hook(sselfsinstancesitems containersm_hooksdm_hook((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pysinitializeInstance_s cCsRtt|ƒdƒot|dƒntt|ƒdƒot|dƒndS(Nsdemarshall_hooks marshall_hook(shasattrsaq_basesinstancesdelattr(sselfsinstancesitems container((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pyscleanupInstanceiscKs t‚dS(N(sNotImplemented(sselfsinstancesdataskwargs((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pys demarshalloscKs t‚dS(N(sNotImplemented(sselfsinstanceskwargs((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pysmarshallrscCsdS(N((sselfsinstancesfield((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pysinitializeFielduscCsdS(N((sselfsinstancesfield((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pys cleanupFieldxs(s__name__s __module__s IMarshallsILayers__implements__sClassSecurityInfossecuritysdeclareObjectPrivatessetDefaultAccesssNones__init__sinitializeInstancescleanupInstances demarshallsmarshallsinitializeFields cleanupField(((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pys MarshallerTs        sPrimaryFieldMarshallercBs:tZeƒZeiƒeidƒd„Zd„ZRS(NsdenycKsi|iƒ}|idƒ}t|ttfƒo|o|}|d=n|i |ƒ}|||dS(Nsfile( sinstancesgetPrimaryFieldspskwargssgetsfiles isinstances FileFields TextFieldsdatas getMutatorsmutator(sselfsinstancesdataskwargsspsmutatorsfile((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pys demarshallƒs  cKs’|iƒ}| o td‚n|o||iƒpd}t}}t i |ƒo(|i ƒ}|i ƒ}|i ƒ}nt|tƒo"|i}|i ƒ}|i}nÏtd||iƒfƒt|dƒo|i |ƒpd}n|o t|ƒpd}t|dƒo|i |ƒ}n t|ƒ}t|ƒ}t|dƒo |i}nt|ƒ}t|ƒ}|||fSdS(Ns!Primary Field could not be found.ssSWARNING: PrimaryFieldMarshaller(%r): field %r does not return a IBaseUnit instance.sgetContentTypes text/plainsget_sizesdata(sinstancesgetPrimaryFieldsps TypeErrorsgetNamesdatasNones content_typeslengths IBaseUnitsisImplementedBysgetContentTypesget_sizesgetRaws isinstancesFileslogshasattrsguess_content_typeslensshasattrsstr(sselfsinstanceskwargsspslengths content_typesdata((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pysmarshalls4             (s__name__s __module__sClassSecurityInfossecuritysdeclareObjectPrivatessetDefaultAccesss demarshallsmarshall(((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pysPrimaryFieldMarshaller}s     sRFC822MarshallercBs:tZeƒZeiƒeidƒd„Zd„ZRS(Nsdenyc KsX|idƒo'| o|diƒ}n|d=nt|ƒ\} }x| iƒD]s\} }|i ƒdjo t }n|i | ƒ}|t j o.|i|ƒ}|t j o||ƒqÉqVqVW| idƒ} |idt ƒ o|ihd| <ƒn|iƒ}|t j o1|i|ƒ}|t j o|||qTndS(NsfilesNones Content-Typesmimetype(skwargsshas_keysdatasreads parseRFC822sheaderssbodysitemssksvsstripsNonesinstancesgetFieldsfields getMutatorsmutatorsgets content_typesupdatesgetPrimaryFieldsp( sselfsinstancesdataskwargssbodysfieldsvsmutatorspsheaderss content_typesk((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pys demarshallÁs,        cKsY|iƒ}|o||iƒpd}|o |iƒpt}t}}t i |ƒo"t |i ƒƒ}|i ƒ}nL|o t|dƒo|i |ƒpd}n|o t|ƒpd}g} gi}|iƒiƒD]'} | iƒ|jo|| ƒqëqë~} xè| D]à}|idddfjoq"n|i|ƒ} | oq"nhdd<d |i<}t| |} t| ƒttgjo:d i gi}| D]}|t |ƒƒq½~ƒ} n| i|iƒt | ƒfƒq"W| id |pdfƒt"| ƒ}d ||f}t%|ƒ}|||fSdS( NssgetContentTypes text/plainsfilesimagesobjectsrawisfields s Content-Types%s %s(&sinstancesgetPrimaryFieldspsgetNamesbodysNonespnames content_typeslengths IBaseUnitsisImplementedBysstrsgetContentTypesgetRawshasattrsguess_content_typesheaderssappends_[1]sSchemasfieldssfsfieldstypesgetEditAccessorsaccessors__name__skwsmapplysvaluesListTypes TupleTypesjoinsvsformatRFC822Headerssheadersdataslen(sselfsinstanceskwargssheadersfieldsbodyspnames content_typesdatasaccessorsheaderssfsfieldssvalues_[1]spslengthskwsv((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pysmarshallÝs:  J:#  (s__name__s __module__sClassSecurityInfossecuritysdeclareObjectPrivatessetDefaultAccesss demarshallsmarshall(((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pysRFC822Marshaller»s     N((stypessListTypes TupleTypes cStringIOsStringIOsrfc822sMessages OFS.ImagesFilesProducts.Archetypes.Fields TextFields FileFields'Products.Archetypes.interfaces.marshalls IMarshalls$Products.Archetypes.interfaces.layersILayers#Products.Archetypes.interfaces.bases IBaseUnitsProducts.Archetypes.debugslogsProducts.Archetypes.utilssshasattrsmapplys Acquisitionsaq_basesOFS.content_typessguess_content_typesProducts.CMFDefault.utilssformatRFC822HeaderssGlobalssInitializeClasss AccessControlsClassSecurityInfos sample_datasNonLoweringMessages parseRFC822s MarshallersPrimaryFieldMarshallersRFC822Marshallers__all__(s IMarshallsmapplys TextFieldslogs__all__sILayers sample_datasaq_basesRFC822MarshallersClassSecurityInfosInitializeClasssNonLoweringMessagesformatRFC822HeaderssListTypes TupleTypes FileFieldsStringIOsguess_content_typesPrimaryFieldMarshallersshasattrs MarshallersFiles parseRFC822s IBaseUnitsMessage((sB/mnt/gmirror/ports/www/zope-archetypes/work/Archetypes/Marshall.pys?s2               ' < H