File:  [Repository] / OSA_system2 / Attic / OSAS_metadata.pyc
Revision 1.9: download - view: text, annotated - select for diffs - revision graph
Thu Feb 10 20:23:24 2005 UTC (19 years, 3 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
further improvement for server client

;
WAc@sdZdklZdklZlZdklZdkl	Z	dk
lZdkZ
dkZdkZdkZdefdYZd	Zed
ZdefdYZd
ZedZeedS(s Classes for managing metadata(s
SimpleItem(sInitializeClassspackage_home(sFolder(sClassSecurityInfo(sPageTemplateFileNsOSAS_MetadataMappingcBstZdZdZdZdZeihdd<dd<fZedZ	d	Z
d
ZdZdZ
ed
ZRS(sEinfaches Mapping ObjectsOSAS_MetadataMapping__neucCs|iiSdS(sread all elements from rootN(sselfs	aq_parents	fieldList(sself((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysreadFieldsFromParentscCsE||_||_x,|iD]}t|d|||qWdS(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((s9/usr/local/testzope/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
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(
sselfstitlesretsreadFieldsFromParents	fieldNamesgetattrsentrysRESPONSEsREQUESTs	setHeader(sselfsRESPONSEsrets	fieldNamesentry((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pys
showSetXML(s

#*
cCs!t|d|tttfSdS(sqget md value
        @param fieldName: Bezeichnung des gesuchten Metadatums
        @retunr: Value des Metadatumssmd_N(sgetattrsselfs	fieldNamesNone(sselfs	fieldName((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysgetValue9scCs7t|d|d}|ddjodSndSdS(s9teste ob fielname in diesem Metadatenschema definiert istsmd_siiN(sgetattrsselfs	fieldNamesfield(sselfs	fieldNamesfield((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysisEmptyValueAs
cCs9h}x(|iD]}t|d|||<qW|SdS(sJerzeugen des dictionaries: generisches Feld -> Definition in diesem Schemasmd_N(shashsselfs	fieldListsfieldsgetattr(sselfsfieldshash((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysgenerateMappingHashIs
cCs;ttiittddi|}|SdS(schangeszptschangeMetadataMapping.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pyschangeMetadataMappingFormRs0c	Cs||_|ii}xE|iD]7}t|d||||d||d|fq"W|t
j	o|idndS(schangesmd_slabel_sexplanation_smanage_mainN(s
titleOfObjectsselfstitlesREQUESTsformsarglistsreadFieldsFromParents	fieldNamessetattrsRESPONSEsNonesredirect(sselfs
titleOfObjectsRESPONSEs	fieldNamesarglist((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pyschangeMetadataMappingWs	
5
(s__name__s
__module__s__doc__s	meta_typesreadFieldsFromParents__init__s
SimpleItemsmanage_optionssNones
showSetXMLsgetValuesisEmptyValuesgenerateMappingHashschangeMetadataMappingFormschangeMetadataMapping(((s9/usr/local/testzope/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((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysmanage_addMetadataMappingFormfs0cCsh}xb|iD]W}|ddgjo=|ii||iid||iid|f||<qqWt|||}|i
|||tj	o|i
dndS(sadd the OSAS_roots
idOfObjects
titleOfObjectslabel_sexplanation_smanage_mainN(sargListsselfs	fieldListsargsREQUESTsformsOSAS_MetadataMappings
idOfObjects
titleOfObjectsnewObjs
_setObjectsRESPONSEsNonesredirect(sselfs
idOfObjects
titleOfObjectsRESPONSEsnewObjsargsargList((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysmanage_addMetadataMappingls
A
s
OSAS_MetadatacBs/tZdZeZdZdZeihdd<dd<hdd<dd<hdd	<dd
<fZe	dZ
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((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pys__init__s
			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((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysshowGenericXMLs


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(
sselfsgetIdsretsshowGenericXMLsZopeFindsentrys
showSetXMLsRESPONSEsREQUESTs	setHeader(sselfsRESPONSEsentrysret((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysshowOverviewXMLs
cCsoh}x^|iD]S}t||}t|do.|idjo|i||i	<qcqqW|SdS(sErzeuge Mappings	meta_typesOSAS_MetadataMappingN(
smappingsselfs__dict__sdictsgetattrsobjshasattrs	meta_typesgenerateMappingHashsgetId(sselfsobjsmappingsdict((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysgenerateMappingLists
"syescCs|i}|i|on|djoUh}xD||iD]2}|||djo|||||<q@q@W|Sq||SnhSdS(serzeuge spezifisches MappingsyessN(	sselfsgenerateMappingListshashshas_keystypescleanstempskeyssx(sselfstypescleanshashstempsx((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysgenerateMappingForTypes
cCs)yti|idSWndSnXdS(serzeuge string aus fieldss,sN(sstringsjoinsselfs	fieldList(sself((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysgetFieldLists
cCs|iSdS(sausgabe der FelderN(sselfs	fieldList(sself((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pys	getFieldsscCs,yt||}|iSWn|SnXdS(sTitle von IDN(sgetattrsselfsidsobjstitle(sselfsidsobj((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysgetTypeTitlescCsmg}x\|i|ddgD]B}|idjo
|i}n
|i}|i|i|fqW|SdS(sGebe gespeicherte typen zurcks
obj_metatypessOSAS_MetadataMapping_neusN(stypessselfsZopeFindsobjstitlesidsappend(sselfsobjstypesstitle((s9/usr/local/testzope/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((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysindicateDisplayFieldsForms0cCs4ti||_|tj	o|idndS(stset Displayfields
        @param displayFields: Liste von Felder die im Browserenvironment angezeigt werden
        smanage_mainN(sOSAS_helpersstoLists
displayFieldssselfsRESPONSEsNonesredirect(sselfs
displayFieldssRESPONSE((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysindicateDisplayFieldss
cCs]g}tiitii|dodSny(tiiitii|d}Wn!t	i
dt	id|nXy$|iddidd}WndSnXy(|id}t||i}Wn"d	}t||i}nXxM|iD]B}y2|iti|i||ddiWqqXqWd
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(sselfspathsdomstypesbibsmappingsretsfield((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysgetDisplayFieldsAsStrs2#($
2cCs;ttiittddi|}|SdS(sMain configurationszptschangeMetadata.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pyschangeMetadataForms0schangeMetadatacCsJ||_||_|idd|_|tj	o|idndS(sChange Metadatas,ismanage_mainN(	s	linklabelsselfsdescriptionsfieldsssplits	fieldListsRESPONSEsNonesredirect(sselfs	linklabelsdescriptionsfieldssRESPONSE((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pyschangeMetadatas		
s
index_htmlcCs;ttiittddi|}|SdS(sformszptsimportXMLSchemaForm.zptN(	sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((s9/usr/local/testzope/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}
|id	}ti|i}|
||f|
|	<qW|i|t|||
|o|id
|qqWdS(s_import xmlschema, Metadatenschema wird eingelesen und entsprechende Metadatenmappings angelegt.ssetsnamesgenericsentrysgenericNameisutf-8stagslabels	Wrote: %sN(sxmlsdomsminidomsparsesfilesgetElementsByTagNamessetsssetsgetAttributeslistsentrysappendsselfs	fieldListsencodesidsargListsgenericNamestagslabelsOSAS_helperssgetTexts
childNodessdescriptions
_setObjectsOSAS_MetadataMappingsRESPONSEswrite(sselfsfilesRESPONSEssetsdescriptionsdomslistslabelsidsgenericNamestagssetssentrysargList((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysimportXMLSchema(s4(s__name__s
__module__s__doc__sClassSecurityInfossecuritys__init__s	meta_typesFoldersmanage_optionssNonesshowGenericXMLsshowOverviewXMLsgenerateMappingListsgenerateMappingForTypesgetFieldLists	getFieldssgetTypeTitlesgetStoredTypessindicateDisplayFieldsFormsindicateDisplayFieldssgetDisplayFieldsAsStrs
declarePublicschangeMetadataFormschangeMetadatasimportXMLSchemaFormsimportXMLSchema(((s9/usr/local/testzope/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((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pysmanage_addMetadataFormEs0cCsMt||||}|ii|||t
j	o|idndS(sadd the OSAS_rootsmanage_mainN(s
OSAS_Metadatasids	linklabelsdescriptionsfieldssnewObjsselfsDestinations
_setObjectsRESPONSEsNonesredirect(sselfsids	linklabelsdescriptionsfieldssRESPONSEsnewObj((s9/usr/local/testzope/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_addMetadataMappingsOSAS_MetadataMappingsClassSecurityInfosInitializeClasssOSAS_helperss
SimpleItemsPageTemplateFilesmanage_addMetadataFormsmanage_addMetadataMappingFormszLOGsFoldersosspackage_homes
OSAS_Metadata((s9/usr/local/testzope/Products/OSA_system2/OSAS_metadata.pys?s 



				Y		

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