; li@c@sjdZdkZdkZdkZdkTdklZdklZdk l Z dk l Z dk lZdklZdklZd klZd klZd klZd klZdkZdkZdkZd klZlZddgZdZdZdZ ddZ!de eefdYZ"de eefdYZ#de fdYZ$dZ%e&e&e&dZ'de fdYZ(dZ)e&e&e&d Z*d!e eefd"YZ+d#Z,de&e&d$Z-d%e eefd&YZ.e&d'Z/d(Z0d)eefd*YZ1ed+e2d,d)d-d)Z3ddde&d.Z4dS(/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(sImplicit(s javaHandlersjavaScriptMains 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_getResourceMD s $ cCst||SdS(sAusgabe der MDN(sgetattrsselfsitem(sselfsitem((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys ECHO_getMD5scCs|iii|iSdS(s standard pageN(sselfsREQUESTsRESPONSEsredirectslink(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys index_html9scCs!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_label>s(s__name__s __module__s__doc__s meta_typesviewClassificationListMastersviewClassificationListsgetViewClassifications getCreditss__init__s getCoordssECHO_resource_configsNoneschangeECHO_resourcesFoldersmanage_optionss getOverviewsECHO_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_resourceFormDsc  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_resourceKs * 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_graphicEntrycCs(|ii|iddgddSdS(soverview graphicssobj_idssoverviewiiN(sselfs aq_parentsZopeFind(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys getOverview scCsM|ii|iddg}|o tdi|}|SndSdS(s DO nothingsobj_idssoverviews'Products/ECHO_content/zpt/ECHO_draw.zptsNO OVERVIEW GRAPHICSN(sselfs aq_parentsZopeFindsoverviewsPageTemplateFiles__of__spt(sselfsoverviewspt((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_config)s   schangeECHO_collectionsweightc  Csgi} | D]} | ti| dq~ } t||||||||| | d|_||_| tj o| idndS(snderung der Propertiess,is 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<s3"   s index_htmlcCsJd|iijot|dSntdi|}|SdS(soverviewsECHO_overview.htmls3Products/ECHO_content/zpt/ECHO_content_overview.zptN(sselfs__dict__skeyssgetattrsPageTemplateFiles__of__spt(sselfspt((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys showOverviewMs cCswd|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_htmlUs cCs|io |iSngSdS(sAusgabe der creditsN(sselfscredits(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys getCreditsbs  cCsdddg}g}x|iiD]{}t||}y\|i|joHxE|i D]6}t |djo|dd!}t |do|idj o2|iti|d |i|i|gqt |d ox|idj o2|iti|d |i|i|gq|iti|d |i|i|gq|iti|d |i|i|gqWqWWnWq%q%Xq%W|Sd S( sGive list of coordinatessECHO_collectionsECHO_externalLinks ECHO_resourceiiislabelss, stitleN(s subColTypessidssselfs__dict__skeyssentrysgetattrsobjects meta_typescoordss coordtempslenscoordshasattrslabelsappendsstringsjoinsgetIdstitle(sselfsobjectsidss coordtempscoords subColTypessentry((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysgetGraphicCoordsks,  !225Ac 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 getSubColss6  (s__name__s __module__s__doc__sClassSecurityInfossecuritys meta_typescreateJavaScripts declarePublicsgetCreditObjectsECHO_generateNavBarsECHO_rerenderLinksMDs getCoordss__init__sFoldersmanage_optionss getOverviewsECHO_graphicEntrysNonesECHO_enterCoordssECHO_collection_configschangeECHO_collections showOverviews index_htmls getCreditssgetGraphicCoordss getSubCols(((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysECHO_collections6          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_rootcBsttZdZdZedZdZdZedZdZ dZ dZ d Z d Z d ZRS( sECHO Root Folders ECHO_rootcCs| o |}n|i|dddg}x^|D]V}|didjo'tidd|di|d_q4|di |dq4Wd|i SdS( schange links (:86 faellt weg)s obj_metatypess ECHO_resourcesECHO_collectionis\:86ss%Rerenderd all links to resources in: N( sobjsselfsZopeFindsentriessentrys meta_typesressubslinksECHO_newViewerLinkstitle(sselfsobjsentrysentries((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysECHO_newViewerLinks 'cCs||_||_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.pyscheckRef s ! 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 getCollection/s N(s getCollectionsself(sselfs getCollection((s getCollectionsW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysgetCollectionTree,scCsSg}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.pysgetCollectionTreeIds?s  2(s__name__s __module__s__doc__s meta_typesNonesECHO_newViewerLinks__init__s deleteSpaces 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_rootHs 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_rootFormOss 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_configos  ( 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_partnerTs  " 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&     % (5s__doc__sstringsres OFS.ImagesOFSstypessImagesGlobalssDTMLFiles OFS.FoldersFoldersOFS.SimpleItems SimpleItems AccessControlsClassSecurityInfosInitializeClasss'Products.PageTemplates.PageTemplateFilesPageTemplateFiles#Products.PageTemplates.PageTemplates PageTemplates Persistents AcquisitionsImplicitsxml.dom.minidomsxmlsurllibsECHO_graphicalOverviews javaHandlersjavaScriptMainsviewClassificationListMasterstoListsgetTexts 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_collectionFormsjavaScriptMains ECHO_resourcesmanage_addECHO_externalLinksmanage_addECHO_resources SimpleItemsImagesscientificClassificationsmanage_addECHO_resourceFormsviewClassificationListMastersmanage_addECHO_collectionsmanage_addECHO_roots javaHandler((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys?sX                     ,   A      #