; F@c@sWdZdkZdkZdkZdkTdklZdklZdk l Z dk l Z dk lZdklZdklZd klZd klZd klZd klZdkZdkZdkZd dgZdZdZdZddZde eefdYZde eefdYZ de fdYZ!dZ"e#e#e#dZ$de fdYZ%dZ&e#e#e#dZ'd e eefd!YZ(d"Z)de#e#d#Z*d$e eefd%YZ+e#d&Z,d'Z-d(eefd)YZ.ed*e/d+d(d,d(Z0ddde#d-Z1dS(.sNew version of the product started February, 8th. Without scientific classification, use content-type for further classification.N(s*(sImage(sDTMLFile(sFolder(s SimpleItem(sClassSecurityInfo(sInitializeClass(sPageTemplateFile(s PageTemplate(s Persistent(sImplicits view pointsareacCs&t|tjo |gSn|SdS(sEinzelfeld in Liste umwandelnN(stypesfields StringType(sfield((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pystoList's cCsCd}x2|D]*}|i|ijo||i}q q W|SdS(Ns(srcsnodelistsnodesnodeTypes TEXT_NODEsdata(snodelistsnodesrc((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysgetText.s cCswh}y4d}x'ti|iD]}||}q%WWntd|fSnXyti i i |}Wntd|d|fSnX|i d}d|dsbibsBooksbib_typeis archimedess ArchimedesstypeN(smetadictsgeturlsurllibsurlopensurls readlinesslinesNonesxmlsdomsminidoms parseStringsgetElementsByTagNamesmetanodeslens childNodess metacontentsgetTexts attributessnodestagNameslower(surlsgeturlsnodesdomsmetadictsmetanodes metacontentsline((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys readMetadata7s>  +  sc Cs| |_||_||_||_||_||_t||_||_ g} |oExB|D]6} y| i d} Wn g} nX| i| qbWn| d|_ dS(s2Allegemeine Informationen zu einer ECHO Collections,iN(sviewClassificationsselfslabelstitles descriptions content_types responsiblestoListscreditssweightscoordss coordstrsscoordstrssplitstemcosappend( sselfstitleslabels descriptions content_types responsiblescreditssweights coordstrssviewClassificationscoordsstemcoscoordstr((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pyssetECHO_collectionInformationcs&        sscientificClassificationcBsbtZdZeZdZeiddZeiddZeiddZ RS(s8outdated will be deleeted in the next versions: subclasscCs(||_||_||_d|_dS(Nsscientific_Classification(scontextsselfssciencespracticesid(sselfscontextssciencespractice((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys__init__s   s get_contextcCs |iSdS(N(sselfscontext(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys get_contextss get_sciencecCs |iSdS(N(sselfsscience(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys get_sciencess get_practicecCs |iSdS(N(sselfspractice(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys get_practices( s__name__s __module__s__doc__sClassSecurityInfossecuritys__init__s declarePublics get_contexts get_sciences get_practice(((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysscientificClassifications        sscientificInformationcBsLtZdZeZdZeiddZeiddZRS(sMoutdated will be deleted in the next versions: subclass scientificInformationcCsd|_||_||_dS(Nsscientific_Information(sselfsids source_typesperiod(sselfs source_typesperiod((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys__init__s  sget_source_typecCs |iSdS(N(sselfs source_type(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysget_source_typess get_periodcCs |iSdS(N(sselfsperiod(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys get_periods( s__name__s __module__s__doc__sClassSecurityInfossecuritys__init__s declarePublicsget_source_types get_period(((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysscientificInformations      s ECHO_resourcecBstZdZdZeZdZdZdZdZ dZ de e e dZ e ihd d <d d W|i|_ |i |_ |djo t di|}|SndS(sREinlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur ResourcessERROR:sasciisreplacesyess-Products/ECHO_content/zpt/ECHO_resourceMD.zptN(s readMetadatasselfsmetalinksmetadictserrorskeysskeyssetattrsencodesmetadatasgenerate_labelslabelstemplatesPageTemplateFiles__of__spt(sselfstemplateserrorsmetadictsptskey((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysECHO_getResourceMDs $ cCst||SdS(sAusgabe der MDN(sgetattrsselfsitem(sselfsitem((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys ECHO_getMD-scCs|iii|iSdS(s standard pageN(sselfsREQUESTsRESPONSEsredirectslink(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys index_html1scCs!t|d|i}|SdS(s#Erzeugt_standard_Label aus Templateslabel_template_N(sgetattrsselfsbib_typespt(sselfspt((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysgenerate_label6s(s__name__s __module__s__doc__s meta_typesviewClassificationListMastersviewClassificationListsgetViewClassifications getCreditss__init__s getCoordssECHO_resource_configsNoneschangeECHO_resourcesFoldersmanage_optionssECHO_graphicEntrysECHO_enterCoordssECHO_getResourceMDs ECHO_getMDs index_htmlsgenerate_label(((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys ECHO_resources      L    cCs tdi|}|SdS(sForm for adding a ressources2Products/ECHO_content/zpt/AddECHO_resourceForm.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysmanage_addECHO_resourceForm<sc  Cs\t||||||||| | | } |i|| | tj o| idndS(s addaresources manage_mainN(s ECHO_resourcesidslinksmetalinkstitleslabels descriptions content_types responsiblescreditssweightscoordssnewObjsselfs _setObjectsRESPONSEsNonesredirect(sselfsidstitleslabels descriptions content_types responsibleslinksmetalinksweightscreditsscoordssRESPONSEsnewObj((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysmanage_addECHO_resourceCs * sECHO_externalLinkcBsutZdZeZdZdZdZeeedZ e i hdd<ddgi}|iD]}|ti|dq~}|SWn gSnXdS(Ns,(sappends_[1]sselfscoordssxsstringsjoin(sselfs_[1]sx((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys getCoordss 6c Cs||_t||_||_||_||_||_||_||_ | |_ gi } | D]} | ti| dqe~ } | |_ dS(Ns,(sidsselfstoListscreditsslabelstitles descriptions content_types responsiblesweights sortfieldsappends_[1]scoordssxsstringssplits coordsnew(sselfsidstitleslabels descriptions content_types responsiblescreditssweights sortfieldscoordss_[1]sxs coordsnew((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys__init__s        3slabels Main ConfigsactionsECHO_collection_configsRerender LinkssGraphicssECHO_graphicEntrycCsAd|iiijo tdi|}|SndSdS(s DO nothingsoverviews'Products/ECHO_content/zpt/ECHO_draw.zptsNO OVERVIEW GRAPHICSN(sselfs aq_parents__dict__skeyssPageTemplateFiles__of__spt(sselfspt((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysECHO_graphicEntrys  scCsa|i}|id}|i||i||d|_|tj o|i dndS(s Enter coordss,isECHO_graphicEntryN( sselfscoordsscoordstrssplitstemcosappendsanglesRESPONSEsNonesredirect(sselfscoordstrsanglesRESPONSEscoordsstemco((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysECHO_enterCoordss     cCszt|d o d|_nt|d o d|_nt|d o g|_ntdi|}|SdS(sMain configurationsweightss sortfieldscoordss3Products/ECHO_content/zpt/ChangeECHO_collection.zptN(shasattrsselfsweights sortfieldscoordssPageTemplateFiles__of__spt(sselfspt((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysECHO_collection_configs   schangeECHO_collectionsweightc  Csgi} | D]} | ti| dq~ } t||||||||| ||_| tj o| idndS(snderung der Propertiess,s manage_mainN(sappends_[1]scoordssxsstringssplits coordsnewssetECHO_collectionInformationsselfstitleslabels descriptions content_types responsiblescreditssweights sortfieldsRESPONSEsNonesredirect(sselfstitleslabels descriptions content_types responsiblesweightscreditss sortfieldscoordssRESPONSEs_[1]sxs coordsnew((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pyschangeECHO_collection!s 3"  s index_htmlsECHO_content_overviewcCswd|iijot|dSn%d|iijo|iSntdi|}d|_|SdS(s standard pages index.htmlsoverviews3Products/ECHO_content/zpt/ECHO_content_standard.zpts text/htmlN( sselfs__dict__skeyssgetattrs showOverviewsPageTemplateFiles__of__spts content_type(sselfspt((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys index_html2s cCs|io |iSngSdS(sAusgabe der creditsN(sselfscredits(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys getCredits?s  cCsPdddg}g}x0|iiD]}t||}y|i|jox|i D]}t |djo|dd!}t |dor|idj o/|iti|d |i|igq-|iti|d |i|igq1|iti|d |i|igqWqWWnWq%q%Xq%W|Sd S( sGive list of coordinatessECHO_collectionsECHO_externalLinks ECHO_resourceiiistitless, N(s subColTypessidssselfs__dict__skeyssentrysgetattrsobjects meta_typescoordss coordtempslenscoordshasattrstitlesappendsstringsjoinsgetId(sselfsobjectsidss coordtempscoords subColTypessentry((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysgetGraphicCoordsFs(  /2>c Cs*dddg} g}xU|iiD]D} t|| }y%|i| jo|i |nWq%q%Xq%Wy |i }WnnXg}xd|D]\}t ||o-yt|}WnnXt||}nd}|i ||fqW|igi }|D]\}}||q ~SdS(NsECHO_collectionsECHO_externalLinks ECHO_resourcei(s subColTypessidssselfs__dict__skeyssentrysgetattrsobjects meta_typesappends sortfieldstmplistsxshasattrsintstmpssorts_[1]skey( sselfs sortfieldstmps_[1]sobjectsidsstmplistskeysxs subColTypessentry((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys getSubCols^s6  (s__name__s __module__s__doc__sClassSecurityInfossecuritys meta_types declarePublicsgetCreditObjectsECHO_generateNavBarsECHO_rerenderLinksMDs getCoordss__init__sFoldersmanage_optionssECHO_graphicEntrysNonesECHO_enterCoordssECHO_collection_configschangeECHO_collectionsDTMLFilesglobalss showOverviews index_htmls getCreditssgetGraphicCoordss getSubCols(((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysECHO_collections0         L       cCs tdi|}|SdS(sAdd collection forms4Products/ECHO_content/zpt/AddECHO_collectionForm.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysmanage_addECHO_collectionFormsc CsYt||||||| ||| } |i || | tj o| idndS(sadd a echo collections manage_mainN(sECHO_collectionsidstitleslabels descriptions content_types responsiblescreditssweights sortfieldscoordssnewObjsselfs _setObjectsRESPONSEsNonesredirect( sselfsidstitleslabels descriptions content_types responsiblesweights sortfieldscoordsscreditssRESPONSEsnewObj((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysmanage_addECHO_collections ' s ECHO_rootcBshtZdZdZdZdZedZdZdZ dZ dZ d Z d Z RS( sECHO Root Folders ECHO_rootcCs||_||_dS(sinitN(sidsselfstitle(sselfsidstitle((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys__init__s cCs<|t|ddjo|dt|d!Sn|SdS(s!delete space at the end of a lineis iN(sstrslen(sselfsstr((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys deleteSpacescCs|oWd}|id}x5|D]-}||}dG|GH|d||f7}q#W|}n|otidd|SndSdS(s"ersetze ascii umbrueche durch
ss sstrs%s
s[\n]s
N( surlsretStrsstrssplitswordsswordsstrUrlsressub(sselfsstrsurlswordsretStrsstrUrlswords((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys formatAsciis   cCs|o|GHtidd|}tiiid|d}|id}dG|GHx[|D]S}d|_ |i d}|i|o%|id|iid |q]q]W|id Snd Sd S( s&link2html fuer VLP muss hier noch rauss\&s&ssslinksasrefshrefs /vlp_coll?id=sutf-8sN(sstrsressubsxmlsdomsminidoms parseStringsgetElementsByTagNameslinksslinkstagNames getAttributesrefsselfscheckRefs setAttributes aq_parents absolute_urlstoxml(sselfsstrslinkssdomslinksref((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys link2htmls  )c Csvhdd<dd<dd<}t}xD|iD]6}|p'|idtd||||f}q4W|SdS(Ns vl_literaturesAND CD LIKE '%lise%'s vl_technologyss vl_peoplesvars1select reference from %s where reference ='%s' %s( sdbssNonesresskeyssdbsselfssearchsstrsref(sselfsrefsressdbsdbs((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pyscheckRefs ! 4cCsti|SdS(s Quote stringN(slibpqs PgQuoteStringsstring(sselfsstring((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys PgQuoteStringscCsdg}g}ybx[|iiiD]G}t|i|}y%|i |jo|i |nWq%q%Xq%WWn g}nX|SdS(s>Get list of Partners. Presently only from a subfolder partnerss ECHO_partnerN( s partnerTypessidssselfspartnerss__dict__skeyssentrysgetattrsobjects meta_typesappend(sselfs partnerTypessobjectsidssentry((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys getPartnerss   csdd|SdS(s>get the collection tree (list of triples (parent,child, depth)ics|d7}g}xq|iiD]`}t||}yA|idjo-|i |||f|||7}nWq q Xq W|SdS(NisECHO_collection( sdepths collectionssobjects__dict__skeyssentrysgetattrselements meta_typesappends getCollection(sobjectsdepthselements collectionssentry(s getCollection(sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys getCollections N(s getCollectionsself(sselfs getCollection((s getCollectionsW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysgetCollectionTreescCsSg}xB|iD]4}|i|di|di|dfqW|SdS(sShow the IDs of the TreeiiiN(sretsselfsgetCollectionTrees collectionsappendsgetId(sselfs collectionsret((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysgetCollectionTreeIdss  2(s__name__s __module__s__doc__s meta_types__init__s deleteSpacesNones formatAsciis link2htmlscheckRefs PgQuoteStrings getPartnerssgetCollectionTreesgetCollectionTreeIds(((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys ECHO_roots       cCs;|i|t|||tj o|idndS(sAdd an ECHO_roots manage_mainN(sselfs _setObjectsids ECHO_rootstitlesRESPONSEsNonesredirect(sselfsidstitlesRESPONSE((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysmanage_addECHO_root s cCs tdi|}|SdS(s Nothing yets*Products/ECHO_content/zpt/AddECHO_root.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysmanage_addECHO_rootFormss ECHO_partnercBsZtZdZdZdddZeihdd<ddt|d o d|_ntdi|}|SdS(sMain configurationsurlss0Products/ECHO_content/zpt/ChangeECHO_partner.zptN(shasattrsselfsurlsPageTemplateFiles__of__spt(sselfspt((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysECHO_partner_config2s  ( s__name__s __module__s__doc__s meta_types__init__sImagesmanage_optionssNoneschangeECHO_partnersECHO_partner_config(((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys ECHO_partners  " sdtml/ECHO_partnerAddsKindskindc Cst|}t|}t|}t|}tii|||\}}|i }|i |t |||d|||o|i|i|n|o||i|_n|tj o<y|i}Wn|d}nX|iid|n|SdS(s Add a new ECHO_partner object. Creates a new ECHO_partner object 'id' with the contents of 'file'. Based on Image.manage_addImage ssURL1s%s/manage_mainN(sstrsidstitles content_types preconditionsOFSsImagescookIdsfilesselfsthiss _setObjects ECHO_partnersurls_getObs manage_uploadsREQUESTsNonesDestinationURLsRESPONSEsredirect(sselfsidsfilesurlstitles preconditions content_typesREQUEST((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysmanage_addECHO_partner?s&     % (2s__doc__sstringsres OFS.ImagesOFSstypessImagesGlobalssDTMLFiles OFS.FoldersFoldersOFS.SimpleItems SimpleItems AccessControlsClassSecurityInfosInitializeClasss'Products.PageTemplates.PageTemplateFilesPageTemplateFiles#Products.PageTemplates.PageTemplates PageTemplates Persistents AcquisitionsImplicitsxml.dom.minidomsxmlsurllibsviewClassificationListMasterstoListsgetTexts readMetadatassetECHO_collectionInformationsscientificClassificationsscientificInformations ECHO_resourcesmanage_addECHO_resourceFormsNonesmanage_addECHO_resourcesECHO_externalLinksmanage_addECHO_externalLinkFormsmanage_addECHO_externalLinksECHO_collectionsmanage_addECHO_collectionFormsmanage_addECHO_collections ECHO_rootsmanage_addECHO_rootsmanage_addECHO_rootForms ECHO_partnersglobalssmanage_addECHO_partnerFormsmanage_addECHO_partner(%sgetTextsmanage_addECHO_externalLinkFormsECHO_externalLinksmanage_addECHO_partnersFoldersxmlstoLists ECHO_rootsmanage_addECHO_rootFormsECHO_collectionssetECHO_collectionInformationsurllibs PageTemplatesresPageTemplateFiles readMetadatasInitializeClasssImplicits ECHO_partnersstringsmanage_addECHO_partnerFormsscientificInformationsClassSecurityInfos PersistentsDTMLFilesOFSsmanage_addECHO_collectionForms ECHO_resourcesmanage_addECHO_externalLinksmanage_addECHO_resources SimpleItemsImagesscientificClassificationsmanage_addECHO_resourceFormsviewClassificationListMastersmanage_addECHO_collectionsmanage_addECHO_root((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys?sT                     ,   A    x  #