- X@csdZ  dkZ dkZdkTdklZdklZdkl Z dk l Z dk l Z dklZdklZd klZd klZd klZd klZdkZdkZ!d dgZ$dZ+dZ4dZ`ddZde eefdYZde eefdYZde fdYZ @dZ!Ge"e"dZ#Yde fdYZ$dZ%e"dZ&d e eefd!YZ'd"Z(e"e"d#Z)d$e eefd%YZ*e"d&Z+d'Z,d(eefd)YZ-ed*e.d+d(d,d(Z/ddde"d-Z0dS(.s-Echo collection provides the classes for the ECHO content web-site. class ECHO_collection is the basis class for an ECHO collection. class ECHO_resource contains information on ECHO resources (e.g. an Display environment for Metadata class ECHO_externalLink contains information on externalLinks N(s*(sImage(sDTMLFile(sFolder(s SimpleItem(sClassSecurityInfo(sInitializeClass(sPageTemplateFile(s PageTemplate(s Persistent(sImplicits view pointsareacs5$%&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$scsX+-d}.x;|D.]0}/|i|ijo0||i}nqW1|SdS(Ns(srcsnodelistsnodesnodeTypes TEXT_NODEsdata(snodelistsnodesrc((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysgetText+s   cs468h}9y@:d};x-ti|iD;]}<||}q7WWn?@td|fSnXByCti i i |}Wn#DEtd|d|fSnXG|i d}Hd|d<It|djo#J|i d }Kd |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>    . #scsA`bd||_f||_g||_h| |_i| |_j| |_kt| |_l| |_ n||i _ o||i _ p||i i_ q||i i_r||i i_tg}x|oZyxP|Dy]E}{y||id}Wn}~g}nX|i|qWn|d|_dS(s2Allegemeine Informationen zu einer ECHO Collections,iN(sviewClassificationsselfslabelstitles descriptions content_types responsiblestoListscreditssweights source_typesscientific_Informationsperiodscontextsscientific_Classificationssciencespracticescoordss coordstrsscoordstrssplitstemcosappend(sselfscontextssciencespractices source_typesperiodsidstitleslabels descriptions content_types responsiblescreditssweights coordstrssviewClassificationscoordsstemcoscoordstr((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pyssetECHO_CollectionInformation`s0           sscientificClassificationcstZdZeZdZeiddZeiddZeiddZ RS(ssubclasscs7||_||_||_d|_dS(Nsscientific_Classification(scontextsselfssciencespracticesid(sselfscontextssciencespractice((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys__init__s   s get_contextcs|iSdS(N(sselfscontext(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys get_contextss get_sciencecs|iSdS(N(sselfsscience(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys get_sciencess get_practicecs|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    sscientificInformationcsdtZdZeZdZeiddZeiddZRS(ssubclass scientificInformationcs+d|_||_||_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_typecs|iSdS(N(sselfs source_type(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysget_source_typess get_periodcs|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_resourcecstZdZdZeZdZdZdZdZ dZ dde dZ e ihd d <d d gi}|iD]}|ti|dq~SWngSnXdS(Ns,(sappends_[1]sselfscoordssxsstringsjoin(sselfs_[1]sx((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys getCoordss *cstt|d od|_nt|d og|_ntdi|}|SdS(sMain configurationsweightsscoordss-Products/ECHO_content/ChangeECHO_resource.zptN(shasattrsselfsweightscoordssPageTemplateFiles__of__spt(sselfspt((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysECHO_resource_configsscst||||||t|| | | | | |||||_||_|tj o|idndS(snderung der Propertiess manage_mainN(ssetECHO_CollectionInformationsselfscontextssciencespractices source_typesperiodsidstitleslabels descriptions content_types responsiblescreditssweightscoordssviewClassificationslinksmetalinksRESPONSEsNonesredirect(sselfsmetalinkslinkscontextssciencespractices source_typesperiodstitleslabels descriptions content_types responsiblescreditssweightsviewClassificationscoordssRESPONSE((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pyschangeECHO_resources :  s Main ConfigslabelsECHO_resource_configsactionsMetadatasECHO_getResourceMDsGraphicssECHO_graphicEntrycsS d|iiijo& tdi|} |Sn dSdS(s DO nothingsoverviews#Products/ECHO_content/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 cs||i}|id}|i||i||d|_|tj o|i dndS(s Enter coordss,isECHO_graphicEntryN( sselfscoordsscoordstrssplitstemcosappendsanglesRESPONSEsNonesredirect(sselfscoordstrsanglesRESPONSEstemcoscoords((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysECHO_enterCoordss syescst|i\}}!|dj o"d|fSn#x:|iD#])}%t||||iddqPW(|i|_ *|i |_ ,|djo&-t di|}.|SndS(sREinlesen der Metadaten und Anlegen dieser Metadaten als Informationen zur ResourcessERROR:sasciisreplacesyess)Products/ECHO_content/ECHO_resourceMD.zptN(s readMetadatasselfsmetalinksmetadictserrorskeysskeyssetattrsencodesmetadatasgenerate_labelslabelstemplatesPageTemplateFiles__of__spt(sselfstemplateserrorskeysmetadictspt((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysECHO_getResourceMDs 'cs012t||SdS(sAusgabe der MDN(sgetattrsselfsitem(sselfsitem((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys ECHO_getMD0scs#457|iii|iSdS(s standard pageN(sselfsREQUESTsRESPONSEsredirectslink(sself((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys index_html4scs-9:;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_label9s(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        O    cs,@ABtdi|}C|SdS(s Nothing yets.Products/ECHO_content/AddECHO_resourceForm.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysmanage_AddECHO_resourceForm@sc sGJKt|||}Mt||}Pt || | ||| | | ||| }R|i||St||id|Tt||iid|U|tj oV|idndS(s nothing yetsscientific_Informationsscientific_Classifications manage_mainN(sscientificClassificationscontextssciencespracticesscientificClassificationObjsscientificInformations source_typesperiodsscientificInformationObjs ECHO_resourcesidslinksmetalinkstitleslabels descriptions content_types responsiblescreditssweightscoordssnewObjsselfs _setObjectsgetattrsscientific_InformationsRESPONSEsNonesredirect(sselfscontextssciencespractices source_typesperiodsidstitleslabels descriptions content_types responsibleslinksmetalinkscreditssweightscoordssRESPONSEsscientificInformationObjsscientificClassificationObjsnewObj((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysmanage_AddECHO_resourceGs-sECHO_externalLinkcsYtZdZZ[eZ\dZ_dZodZ}edZ e i hdd<ddGet list of Partners. Presently only from a subfolder partnerss ECHO_partnerN( s partnerTypessidssselfspartnerss__dict__skeyssentrysgetattrsobjects meta_typesappend(sselfs partnerTypessentrysobjectsids((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys getPartnerss    cs)dd|SdS(s>get the collection tree (list of triples (parent,child, depth)ics|d7}g}x|iiD]u}t||}yJ|idjo3|i |||f|||7}nWn nXq,W|SdS(NisECHO_collection( sdepths collectionssobjects__dict__skeyssentrysgetattrselements meta_typesappends getCollection(sobjectsdepths collectionssentryselement(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.pysgetCollectionTreescshg}xH|iD]7}|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   5(s__name__s __module__s__doc__s meta_types__init__s getPartnerssgetCollectionTreesgetCollectionTreeIds(((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pys ECHO_roots     csJ|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_rootscs,tdi|}|SdS(s Nothing yets&Products/ECHO_content/AddECHO_root.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sW/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/ECHO_content/ECHO_collection.pysmanage_AddECHO_rootFormss ECHO_partnercsotZdZdZdddZeihdd<dd