; &@c@sRdZdkZdkZdkTdklZdklZdkl Z dk l Z dk l Z dklZdklZd klZd klZd klZd klZd klZdkZdkZddgZdZdZdZddZde 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(Z.d)eefd*YZ/ed+e0d,d)d-d)Z1ddde$d.Z2dS(/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(slibpqs 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 readMetadata4s>  +  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_collectionInformation`s&        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_html.scCs!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_label3s(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_resourceForm9sc  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_resource@s * sECHO_externalLinkcBsltZdZeZdZdZdZeeedZ 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_collections 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_html%s cCs|io |iSngSdS(sAusgabe der creditsN(sselfscredits(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys getCredits2s  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.pysgetGraphicCoords9s(  /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 getSubColsQs6  (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_collectionFormusc 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_collection{s ' s ECHO_rootcBsAtZdZdZdZdZdZdZdZRS(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 cCsdG|GHti|SdS(s Quote stringsPGN(sstringslibpqs PgQuoteString(sselfsstring((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys PgQuoteStrings cCsdg}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 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_roots 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_configs  ( 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_partners&     % (3s__doc__sstrings OFS.ImagesOFSstypessImagesGlobalssDTMLFiles OFS.FoldersFoldersOFS.SimpleItems SimpleItems AccessControlsClassSecurityInfosInitializeClasss'Products.PageTemplates.PageTemplateFilesPageTemplateFiles#Products.PageTemplates.PageTemplates PageTemplates Persistents AcquisitionsImplicitspyPgSQLslibpqsurllibsxml.dom.minidomsxmlsviewClassificationListMasterstoListsgetTexts 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_collectionslibpqsurllibs PageTemplatesPageTemplateFiles readMetadatasInitializeClasssImplicits ECHO_partnersstringsmanage_addECHO_partnerFormsscientificInformationsClassSecurityInfos PersistentsDTMLFilesOFSsmanage_addECHO_collectionForms ECHO_resourcesmanage_addECHO_externalLinksmanage_addECHO_resources SimpleItemsImagesscientificClassificationsmanage_addECHO_resourceFormsviewClassificationListMastersmanage_addECHO_collectionssetECHO_collectionInformationsmanage_addECHO_root((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys?sR                    ,   :    =  #