File:  [Repository] / OSA_system2 / Attic / OSAS_metadata.pyc
Revision 1.5: download - view: text, annotated - select for diffs - revision graph
Thu Dec 23 15:45:56 2004 UTC (19 years, 5 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
minotrCVS: ----------------------------------------------------------------------

-
WAcsdZdklZdklZlZdklZdkl	Z	dk
lZdkZ
	dkZ
dkZdkZ
defdYZfd	Zled
Z{defdYZEd
ZJedZReedS(s Classes for managing metadata(s
SimpleItem(sInitializeClassspackage_home(sFolder(sClassSecurityInfo(sPageTemplateFileNsOSAS_MetadataMappingcs
tZdZdZdZdZ#eihdd<dd<fZ(edZ	9d	Z
Ad
ZIdZRdZ
Wed
ZRS(sEinfaches Mapping ObjectsOSAS_MetadataMapping__neucs|iiSdS(sread all elements from rootN(sselfs	aq_parents	fieldList(sself((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysreadFieldsFromParentscsZ||_||_x2|iD]!} t|d|||q.WdS(sinit
        @param id: id
        @param title: title fuer zope navigation
        @param arglist: dictionary mit Namen der zugelassenen generische Metadaten als key und Tripel  als Werte (human readable, tag version,explanation
        smd_N(sidsselfstitlesarglistskeyss	fieldNamessetattr(sselfsidstitlesarglists	fieldName((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pys__init__s	sMain ConfigslabelschangeMetadataMappingFormsactioncs()*d|i}+x|iD+]},t|d|}-|ddjo&.|d||d|df7}n*0|d||d|d|df7}q&W1|d	7}3|o4|Sn!6|iii	d
d7|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(
sselfstitlesretsreadFieldsFromParents	fieldNamesgetattrsentrysRESPONSEsREQUESTs	setHeader(sselfsRESPONSEs	fieldNamesentrysret((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pys
showSetXML(s	&-
cs*9<>t|d|tttfSdS(sqget md value
        @param fieldName: Bezeichnung des gesuchten Metadatums
        @retunr: Value des Metadatumssmd_N(sgetattrsselfs	fieldNamesNone(sselfs	fieldName((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysgetValue9scsIABCt|d|d}D|ddjoEdSnGdSdS(s9teste ob fielname in diesem Metadatenschema definiert istsmd_siiN(sgetattrsselfs	fieldNamesfield(sselfs	fieldNamesfield((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysisEmptyValueAs
csNIJKh}Lx.|iDL] }Mt|d|||<qWN|SdS(sJerzeugen des dictionaries: generisches Feld -> Definition in diesem Schemasmd_N(shashsselfs	fieldListsfieldsgetattr(sselfsfieldshash((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysgenerateMappingHashIs	
	csGRSTttiittddi|}U|SdS(schangeszptschangeMetadataMapping.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pyschangeMetadataMappingFormRs3c	sWXZ||_[|ii}]xK|iD]]:}^t|d||||d||d|fq1Wa|t
j	ob|idndS(schangesmd_slabel_sexplanation_smanage_mainN(s
titleOfObjectsselfstitlesREQUESTsformsarglistsreadFieldsFromParents	fieldNamessetattrsRESPONSEsNonesredirect(sselfs
titleOfObjectsRESPONSEs	fieldNamesarglist((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pyschangeMetadataMappingWs	8(s__name__s
__module__s__doc__s	meta_typesreadFieldsFromParents__init__s
SimpleItemsmanage_optionssNones
showSetXMLsgetValuesisEmptyValuesgenerateMappingHashschangeMetadataMappingFormschangeMetadataMapping(((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysOSAS_MetadataMapping
s	%	csGfghttiittddi|}j|SdS(s"interface for adding the OSAS_rootszptsaddMetadataMappingForm.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysmanage_addMetadataMappingFormfs3cslmoh}pxk|iDp]]}q|ddgjo@r|ii||iid||iid|f||<nqWtt|||}u|i
||v|tj	ow|i
dndS(sadd the OSAS_roots
idOfObjects
titleOfObjectslabel_sexplanation_smanage_mainN(sargListsselfs	fieldListsargsREQUESTsformsOSAS_MetadataMappings
idOfObjects
titleOfObjectsnewObjs
_setObjectsRESPONSEsNonesredirect(sselfs
idOfObjects
titleOfObjectsRESPONSEsargsargListsnewObj((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysmanage_addMetadataMappingls	
	Ds
OSAS_Metadatacsw{tZdZ|}eZdZdZeihdd<dd<hdd<dd<hd	d<d
d<fZe	dZ
dZd
ZddZ
dZdZdZdZdZe	dZdZeiddZeide	dZ!eid#dZ(e	dZRS(sOFoldertype enthlt methoden zur Halbautomatischen Erstellung von MetadatenfilescsG||_||_||_|idd|_dS(sinitialize a new instances,iN(sidsselfs	linklabelsdescriptionsfieldsssplits	fieldList(sselfsids	linklabelsdescriptionsfields((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pys__init__s
sOSAS_Metadata__neusMain ConfigslabelschangeMetadataFormsactionsImport XML SchemasimportXMLSchemaFormsSelect Fields for DisplaysindicateDisplayFieldsFormcsdd}x%|iD]}|d|7}q W|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((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysshowGenericXMLs

	
csd|i}||i7}x:|i|ddgD]}||di7}qHW|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(
sselfsgetIdsretsshowGenericXMLsZopeFindsentrys
showSetXMLsRESPONSEsREQUESTs	setHeader(sselfsRESPONSEsentrysret((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysshowOverviewXMLs	
csh}xm|iD]_}t||}t|do4|idjo|i||i	<nnqW|SdS(sErzeuge Mappings	meta_typesOSAS_MetadataMappingN(
smappingsselfs__dict__sdictsgetattrsobjshasattrs	meta_typesgenerateMappingHashsgetId(sselfsobjsdictsmapping((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysgenerateMappingLists	
	%syescs|i}|i|o|djogh}xM||iD]8}|||djo|||||<nqUW|Sn||SnhSdS(serzeuge spezifisches MappingsyessN(	sselfsgenerateMappingListshashshas_keystypescleanstempskeyssx(sselfstypescleanshashstempsx((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysgenerateMappingForTypes		cs;yti|idSWndSnXdS(serzeuge string aus fieldss,sN(sstringsjoinsselfs	fieldList(sself((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysgetFieldLists
cs|iSdS(sausgabe der FelderN(sselfs	fieldList(sself((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pys	getFieldsscsAy t||}|iSWn|SnXdS(sTitle von IDN(sgetattrsselfsidsobjstitle(sselfsidsobj((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysgetTypeTitlescsg}xk|i|ddgD]N}|idjo|i}n
|i}|i|i|fq+W|SdS(sGebe gespeicherte typen zurcks
obj_metatypessOSAS_MetadataMapping_neusN(stypessselfsZopeFindsobjstitlesidsappend(sselfsobjstypesstitle((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysgetStoredTypess		csGttiittddi|}|SdS(sIform zur Makierung der Felder die in der Browserumgebung angezeigt werdenszptsindicateDisplayFieldsForm.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysindicateDisplayFieldsForms3csCti||_|tj	o|idndS(stset Displayfields
        @param displayFields: Liste von Felder die im Browserenvironment angezeigt werden
        smanage_mainN(sOSAS_helpersstoLists
displayFieldssselfsRESPONSEsNonesredirect(sselfs
displayFieldssRESPONSE((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysindicateDisplayFieldsscsg}tiitii|dodSny+tiiitii|d}Wn't	i
dt	id|nXy'|iddidd}WndSnXy.|id}t||i}Wn+d	}t||i}nX
x\|iD
]N}y5|iti|i||ddiWn

nXqBWd
i|SdS(sSGebe display fields als string zurck
        @param path: Pfad zum Object
        s
index.metass%OSAS_metadata (getDisplayFieldsAsStr)sCannot parse: %ssmetaisbibstypesgenerics; N(sretsosspathsexistssjoinsxmlsdomsminidomsparseszLOGsLOGsINFOsgetElementsByTagNamesbibsgetAttributestypesgetattrsselfsgenerateMappingHashsmappings
displayFieldssfieldsappendsOSAS_helperssgetTexts
childNodes(sselfspathsdomsbibsmappingsretsfieldstype((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysgetDisplayFieldsAsStrs2	&+!'	
	5csGttiittddi|}|SdS(sMain configurationszptschangeMetadata.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pyschangeMetadataForms3schangeMetadatacs_||_||_|idd|_|tj	o|idndS(sChange Metadatas,ismanage_mainN(	s	linklabelsselfsdescriptionsfieldsssplits	fieldListsRESPONSEsNonesredirect(sselfs	linklabelsdescriptionsfieldssRESPONSE((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pyschangeMetadatass
index_htmlcsG#$%ttiittddi|}&|SdS(sformszptsimportXMLSchemaForm.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysimportXMLSchemaForm#s3cs()+tiii|},|id}.x|D.]u}/|iddjoV0g}1x3|idD1]}2|i|idqxW3|d|_
nq:W6x|D6]}7|idid}8g}9h}
:x{|idD:]g};|id}	<|id}
=|id	}>ti|i}?|
||f|
|	<q	W@|i|t|||
A|oB|id
|nqWdS(s_import xmlschema, Metadatenschema wird eingelesen und entsprechende Metadatenmappings angelegt.ssetsnamesgenericsentrysgenericNameisutf-8stagslabels	Wrote: %sN(sxmlsdomsminidomsparsesfilesgetElementsByTagNamessetsssetsgetAttributeslistsentrysappendsselfs	fieldListsencodesidsargListsgenericNamestagslabelsOSAS_helperssgetTexts
childNodessdescriptions
_setObjectsOSAS_MetadataMappingsRESPONSEswrite(sselfsfilesRESPONSEssetsdescriptionsdomslistslabelsidsgenericNamestagssetssentrysargList((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysimportXMLSchema(s4
			
				
(s__name__s
__module__s__doc__sClassSecurityInfossecuritys__init__s	meta_typesFoldersmanage_optionssNonesshowGenericXMLsshowOverviewXMLsgenerateMappingListsgenerateMappingForTypesgetFieldLists	getFieldssgetTypeTitlesgetStoredTypessindicateDisplayFieldsFormsindicateDisplayFieldssgetDisplayFieldsAsStrs
declarePublicschangeMetadataFormschangeMetadatasimportXMLSchemaFormsimportXMLSchema(((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pys
OSAS_Metadata{s.	OcsGEFGttiittddi|}H|SdS(s*interface for adding the OSAS_add_MetadataszptsaddMetadataForm.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysmanage_addMetadataFormEs3cs_JKLt||||}M|ii||N|t
j	oO|idndS(sadd the OSAS_rootsmanage_mainN(s
OSAS_Metadatasids	linklabelsdescriptionsfieldssnewObjsselfsDestinations
_setObjectsRESPONSEsNonesredirect(sselfsids	linklabelsdescriptionsfieldssRESPONSEsnewObj((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pysmanage_addMetadataJs
(s__doc__sOFS.SimpleItems
SimpleItemsGlobalssInitializeClassspackage_homes
OFS.FoldersFolders
AccessControlsClassSecurityInfos'Products.PageTemplates.PageTemplateFilesPageTemplateFilesos.pathsossxml.dom.minidomsxmlsOSAS_helpersszLOGsOSAS_MetadataMappingsmanage_addMetadataMappingFormsNonesmanage_addMetadataMappings
OSAS_Metadatasmanage_addMetadataFormsmanage_addMetadata(sxmlsmanage_addMetadatasmanage_addMetadataMappingsossClassSecurityInfosInitializeClasssOSAS_helperss
SimpleItemsPageTemplateFilesmanage_addMetadataFormsmanage_addMetadataMappingFormszLOGsFoldersOSAS_MetadataMappingspackage_homes
OSAS_Metadata((sL/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_metadata.pys?s Y

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