File:  [Repository] / OSA_system2 / Attic / OSAS_metadata.pyc
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Mon Nov 29 09:48:07 2004 UTC (19 years, 7 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
Initial revision

    1: ;
    2: "Ac@sdZdklZdklZlZdklZdkl	Z	dk
    3: lZdkZ
dkZdkZdkZdefdYZd	Zed
    4: ZdefdYZd
ZedZeedS(s Classes for managing metadata(s
    5: SimpleItem(sInitializeClassspackage_home(sFolder(sClassSecurityInfo(sPageTemplateFileNsOSAS_MetadataMappingcBstZdZdZdZdZeihdd<dd<fZedZ	d	Z
    6: d
    7: ZdZdZ
ed
ZRS(sEinfaches Mapping ObjectsOSAS_MetadataMapping__neucCs|iiSdS(sread all elements from rootN(sselfs	aq_parents	fieldList(sself((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysreadFieldsFromParentscCsE||_||_x,|iD]}t|d|||qWdS(sinit
    8:         @param id: id
    9:         @param title: title fuer zope navigation
   10:         @param arglist: dictionary mit Namen der zugelassenen generische Metadaten als key und Tripel  als Werte (human readable, tag version,explanation
   11:         smd_N(sidsselfstitlesarglistskeyss	fieldNamessetattr(sselfsidstitlesarglists	fieldName((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pys__init__s		
slabelsMain ConfigsactionschangeMetadataMappingFormcCsd|i}x|iD]s}t|d|}|ddjo#|d||d|df7}q|d||d|d|df7}qW|d	7}|o|Sn|iii	d
   12: d|SdS(
sprints out the mapping as XMLs<set name="%s">smd_iss-<entry genericName="%s" tag="%s" label="%s"/>iis6<entry genericName="%s" tag="%s" label="%s">%s</entry>s</set>sContent-Typestext/xmlN(
   13: sselfstitlesretsreadFieldsFromParents	fieldNamesgetattrsentrysRESPONSEsREQUESTs	setHeader(sselfsRESPONSEsrets	fieldNamesentry((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pys
   14: showSetXML(s

#*
   15: cCs!t|d|tttfSdS(sqget md value
   16:         @param fieldName: Bezeichnung des gesuchten Metadatums
   17:         @retunr: Value des Metadatumssmd_N(sgetattrsselfs	fieldNamesNone(sselfs	fieldName((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysgetValue9scCs7t|d|d}|ddjodSndSdS(s9teste ob fielname in diesem Metadatenschema definiert istsmd_siiN(sgetattrsselfs	fieldNamesfield(sselfs	fieldNamesfield((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysisEmptyValueAs
   18: cCs9h}x(|iD]}t|d|||<qW|SdS(sJerzeugen des dictionaries: generisches Feld -> Definition in diesem Schemasmd_N(shashsselfs	fieldListsfieldsgetattr(sselfsfieldshash((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysgenerateMappingHashIs
   19: cCs;ttiittddi|}|SdS(schangeszptschangeMetadataMapping.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pyschangeMetadataMappingFormRs0c	Cs||_|ii}xE|iD]7}t|d||||d||d|fq"W|t
   20: j	o|idndS(schangesmd_slabel_sexplanation_smanage_mainN(s
titleOfObjectsselfstitlesREQUESTsformsarglistsreadFieldsFromParents	fieldNamessetattrsRESPONSEsNonesredirect(sselfs
titleOfObjectsRESPONSEs	fieldNamesarglist((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pyschangeMetadataMappingWs	
5
(s__name__s
   21: __module__s__doc__s	meta_typesreadFieldsFromParents__init__s
   22: SimpleItemsmanage_optionssNones
   23: showSetXMLsgetValuesisEmptyValuesgenerateMappingHashschangeMetadataMappingFormschangeMetadataMapping(((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysOSAS_MetadataMapping
s		"					cCs;ttiittddi|}|SdS(s"interface for adding the OSAS_rootszptsaddMetadataMappingForm.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysmanage_addMetadataMappingFormfs0cCsh}xb|iD]W}|ddgjo=|ii||iid||iid|f||<qqWt|||}|i
   24: |||tj	o|i
dndS(sadd the OSAS_roots
   25: idOfObjects
titleOfObjectslabel_sexplanation_smanage_mainN(sargListsselfs	fieldListsargsREQUESTsformsOSAS_MetadataMappings
   26: idOfObjects
titleOfObjectsnewObjs
   27: _setObjectsRESPONSEsNonesredirect(sselfs
   28: idOfObjects
titleOfObjectsRESPONSEsnewObjsargsargList((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysmanage_addMetadataMappingls
   29: A
s
OSAS_MetadatacBs/tZdZeZdZdZeihdd<dd<hdd<dd<hdd	<dd
   30: <fZe	dZ
   31: dZd
ZddZ
dZdZdZdZdZe	dZdZeiddZeide	dZeiddZe	dZRS(sOFoldertype enthlt methoden zur Halbautomatischen Erstellung von MetadatenfilescCs5||_||_||_|idd|_dS(sinitialize a new instances,iN(sidsselfs	linklabelsdescriptionsfieldsssplits	fieldList(sselfsids	linklabelsdescriptionsfields((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pys__init__s
   32: 			sOSAS_Metadata__neuslabelsMain ConfigsactionschangeMetadataFormsImport XML SchemasimportXMLSchemaFormsSelect Fields for DisplaysindicateDisplayFieldsFormcCsddd}x|iD]}|d|7}qW|d7}|o|Sn|iiidd|SdS(sshow generic fields as XMLs<set name="%s">sgenerics<entry genericName="%s"/>s</set>sContent-Typestext/xmlN(sretsselfs	fieldListsfieldsRESPONSEsREQUESTs	setHeader(sselfsRESPONSEsfieldsret((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysshowGenericXMLs
   33: 
   34: 
   35: cCsd|i}||i7}x4|i|ddgD]}||di7}q9W|d7}|o|Sn|iii	dd|SdS(	s9gives an overview over the Metadata stored in this folders<metadata name="%s">s
obj_metatypessOSAS_MetadataMappingis</metadata>sContent-Typestext/xmlN(
   36: sselfsgetIdsretsshowGenericXMLsZopeFindsentrys
   37: showSetXMLsRESPONSEsREQUESTs	setHeader(sselfsRESPONSEsentrysret((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysshowOverviewXMLs
   38: cCsoh}x^|iD]S}t||}t|do.|idjo|i||i	<qcqqW|SdS(sErzeuge Mappings	meta_typesOSAS_MetadataMappingN(
   39: smappingsselfs__dict__sdictsgetattrsobjshasattrs	meta_typesgenerateMappingHashsgetId(sselfsobjsmappingsdict((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysgenerateMappingLists
   40: "syescCs|i}|i|on|djoUh}xD||iD]2}|||djo|||||<q@q@W|Sq||SnhSdS(serzeuge spezifisches MappingsyessN(	sselfsgenerateMappingListshashshas_keystypescleanstempskeyssx(sselfstypescleanshashstempsx((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysgenerateMappingForTypes
cCs)yti|idSWndSnXdS(serzeuge string aus fieldss,sN(sstringsjoinsselfs	fieldList(sself((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysgetFieldLists
   41: cCs|iSdS(sausgabe der FelderN(sselfs	fieldList(sself((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pys	getFieldsscCs,yt||}|iSWn|SnXdS(sTitle von IDN(sgetattrsselfsidsobjstitle(sselfsidsobj((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysgetTypeTitlescCsmg}x\|i|ddgD]B}|idjo
|i}n
   42: |i}|i|i|fqW|SdS(sGebe gespeicherte typen zurcks
obj_metatypessOSAS_MetadataMapping_neusN(stypessselfsZopeFindsobjstitlesidsappend(sselfsobjstypesstitle((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysgetStoredTypess
	cCs;ttiittddi|}|SdS(sIform zur Makierung der Felder die in der Browserumgebung angezeigt werdenszptsindicateDisplayFieldsForm.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysindicateDisplayFieldsForms0cCs4ti||_|tj	o|idndS(stset Displayfields
   43:         @param displayFields: Liste von Felder die im Browserenvironment angezeigt werden
   44:         smanage_mainN(sOSAS_helpersstoLists
displayFieldssselfsRESPONSEsNonesredirect(sselfs
displayFieldssRESPONSE((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysindicateDisplayFieldss
cCs]g}tiitii|dodSny(tiiitii|d}Wn!t	i
   45: dt	id|nXy$|iddidd}WndSnXy(|id}t||i}Wn"d	}t||i}nXxM|iD]B}y2|iti|i||ddiWqqXqWd
   46: i|SdS(sSGebe display fields als string zurck
   47:         @param path: Pfad zum Object
   48:         s
   49: index.metass%OSAS_metadata (getDisplayFieldsAsStr)sCannot parse: %ssmetaisbibstypesgenerics; N(sretsosspathsexistssjoinsxmlsdomsminidomsparseszLOGsLOGsINFOsgetElementsByTagNamesbibsgetAttributestypesgetattrsselfsgenerateMappingHashsmappings
displayFieldssfieldsappendsOSAS_helperssgetTexts
   50: childNodes(sselfspathsdomstypesbibsmappingsretsfield((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysgetDisplayFieldsAsStrs2#($
   51: 2cCs;ttiittddi|}|SdS(sMain configurationszptschangeMetadata.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pyschangeMetadataForms0schangeMetadatacCsJ||_||_|idd|_|tj	o|idndS(sChange Metadatas,ismanage_mainN(	s	linklabelsselfsdescriptionsfieldsssplits	fieldListsRESPONSEsNonesredirect(sselfs	linklabelsdescriptionsfieldssRESPONSE((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pyschangeMetadatas		
s
   52: index_htmlcCs;ttiittddi|}|SdS(sformszptsimportXMLSchemaForm.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysimportXMLSchemaForm#s0cCsotiii|}|id}xk|D]c}|iddjoGg}x-|idD]}|i|idq]W|d|_
q+q+Wx|D]}|idid}g}h}
xi|idD]X}|id}	|id}
   53: |id	}ti|i}|
   54: ||f|
|	<qW|i|t|||
|o|id
   55: |qqWdS(s_import xmlschema, Metadatenschema wird eingelesen und entsprechende Metadatenmappings angelegt.ssetsnamesgenericsentrysgenericNameisutf-8stagslabels	Wrote: %sN(sxmlsdomsminidomsparsesfilesgetElementsByTagNamessetsssetsgetAttributeslistsentrysappendsselfs	fieldListsencodesidsargListsgenericNamestagslabelsOSAS_helperssgetTexts
   56: childNodessdescriptions
   57: _setObjectsOSAS_MetadataMappingsRESPONSEswrite(sselfsfilesRESPONSEssetsdescriptionsdomslistslabelsidsgenericNamestagssetssentrysargList((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysimportXMLSchema(s4(s__name__s
   58: __module__s__doc__sClassSecurityInfossecuritys__init__s	meta_typesFoldersmanage_optionssNonesshowGenericXMLsshowOverviewXMLsgenerateMappingListsgenerateMappingForTypesgetFieldLists	getFieldssgetTypeTitlesgetStoredTypessindicateDisplayFieldsFormsindicateDisplayFieldssgetDisplayFieldsAsStrs
declarePublicschangeMetadataFormschangeMetadatasimportXMLSchemaFormsimportXMLSchema(((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pys
OSAS_Metadata{s.		L								
	

	cCs;ttiittddi|}|SdS(s*interface for adding the OSAS_add_MetadataszptsaddMetadataForm.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysmanage_addMetadataFormEs0cCsMt||||}|ii|||t
   59: j	o|idndS(sadd the OSAS_rootsmanage_mainN(s
OSAS_Metadatasids	linklabelsdescriptionsfieldssnewObjsselfsDestinations
   60: _setObjectsRESPONSEsNonesredirect(sselfsids	linklabelsdescriptionsfieldssRESPONSEsnewObj((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysmanage_addMetadataJs
   61: 
(s__doc__sOFS.SimpleItems
   62: SimpleItemsGlobalssInitializeClassspackage_homes
   63: OFS.FoldersFolders
AccessControlsClassSecurityInfos'Products.PageTemplates.PageTemplateFilesPageTemplateFilesos.pathsossxml.dom.minidomsxmlsOSAS_helpersszLOGsOSAS_MetadataMappingsmanage_addMetadataMappingFormsNonesmanage_addMetadataMappings
OSAS_Metadatasmanage_addMetadataFormsmanage_addMetadata(sxmlsmanage_addMetadatasmanage_addMetadataMappingsOSAS_MetadataMappingsClassSecurityInfosInitializeClasssOSAS_helperss
   64: SimpleItemsPageTemplateFilesmanage_addMetadataFormsmanage_addMetadataMappingFormszLOGsFoldersosspackage_homes
OSAS_Metadata((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pys?s 



				Y		

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>