Annotation of OSA_system2/OSAS_metadata.pyc, revision 1.8

1.8     ! dwinter     1: ;
        !             2: WAc@sdZd&k&lZ&dklZlZ&dklZ&dkl   Z  &dk
        !             3: lZ&dkZ
dkZdkZdkZdef&dYZd    Zed
        !             4: &Zdef&dYZd
Zed&Zee&&dS(s Classes for managing metadata(&s
        !             5: SimpleItem(sInitializeClassspackage_home(&sFolder(&sClassSecurityInfo(&sPageTemplateFileNsOSAS_MetadataMappingcBstZ&dZd&ZdZdZeihdd<dd<f&Zed&Z   d  Z
        !             6: d
        !             7: ZdZdZ
ed
&ZRS(sEinfaches Mapping ObjectsOSAS_MetadataMapping__neuc&&&Cs|i&iSd&S(sread all elements from rootN(sselfs   aq_parents   fieldList(&sself((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysreadFieldsFromParents&cCsE|&|_||_x,|iD]}t|d&|||&qWdS(sinit
1.1       dwinter     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
1.8     ! dwinter    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"/>ii&s6<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
1.1       dwinter    16:         @param fieldName: Bezeichnung des gesuchten Metadatums
1.8     ! dwinter    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}|ddjo&dSn&dSdS(s9teste ob fielname in diesem Metadatenschema definiert istsmd_si&iN(sgetattrsselfs    fieldNamesfield(sselfs   fieldNamesfield((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysisEmptyValueAs
        !            18: &&&&c&Cs9h}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: &&c&Cs;tt&iitt&d&d&i|&}&|&SdS(schangeszptschangeMetadataMapping.zptN( sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pyschangeMetadataMappingFormRs&&0&c Cs|&|_|ii}xE|iD]7}t|d&||||d||d|f&q"W|t
        !            20: j o&|id&&n&&dS(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
1.1       dwinter    21: __module__s__doc__s meta_typesreadFieldsFromParents__init__s
                     22: SimpleItemsmanage_optionssNones
1.8     ! dwinter    23: showSetXMLsgetValuesisEmptyValuesgenerateMappingHashschangeMetadataMappingFormschangeMetadataMapping(((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysOSAS_MetadataMapping
s&       "                 c&Cs;tt&iitt&d&d&i|&}&|&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_addMetadataMappingFormfs&&0cCsh}xb|iD]W}|d&dgjo=&|ii||iid||iid|f||<q&qWt|&||}|i
        !            24: |&|&|tj o&|i
d&&n&&dS(sadd the OSAS_roots
1.1       dwinter    25: idOfObjects
titleOfObjectslabel_sexplanation_smanage_mainN(sargListsselfs    fieldListsargsREQUESTsformsOSAS_MetadataMappings
                     26: idOfObjects
titleOfObjectsnewObjs
                     27: _setObjectsRESPONSEsNonesredirect(sselfs
1.8     ! dwinter    28: idOfObjects
titleOfObjectsRESPONSEsnewObjsargsargList((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysmanage_addMetadataMappingls&&
        !            29: &&A&&
&s
OSAS_MetadatacBs/&tZ&dZeZd&ZdZeihdd<dd<hdd<dd<hdd  <dd
        !            30: <fZe    d&Z
        !            31: dZd
Zdd&Z
dZdZdZdZdZe  d&ZdZeid&&dZeid&&e d&Zeid&&dZe   d&ZRS(sOFoldertype enthlt methoden zur Halbautomatischen Erstellung von MetadatenfilescCs5|&|_||_||_|id&&d|_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 DisplaysindicateDisplayFieldsFormcCsdd&d}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|ddg&&&D]}||di7}q9W|d7}|&o&|Sn&|iii   dd&|SdS(    s9gives an overview over the Metadata stored in this folders<metadata name="%s">s
obj_metatypessOSAS_MetadataMappingi&s</metadata>sContent-Typestext/xmlN(
1.1       dwinter    36: sselfsgetIdsretsshowGenericXMLsZopeFindsentrys
1.8     ! dwinter    37: showSetXMLsRESPONSEsREQUESTs    setHeader(sselfsRESPONSEsentrysret((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysshowOverviewXMLs&&&&&
        !            38: &&c&Csoh}x^|iD]S}t||}&t|&d&o.&|&idjo&|&i||&i <qc&q&qW|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&|d&joU&h}xD||&iD]2}||&|djo&||&|||<q@&q@W|Sq&||&Sn&hSdS(serzeuge spezifisches MappingsyessN(   sselfsgenerateMappingListshashshas_keystypescleanstempskeyss&x(sselfstypescleanshashstemps&x((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysgenerateMappingForTypes&&&&
&&&&&c&&Cs)yti&|id&SWn&&&dSn&XdS(serzeuge string aus fieldss&,sN(sstringsjoinsselfs   fieldList(&sself((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysgetFieldLists
        !            41: &&&&&c&&&Cs|i&Sd&S(sausgabe der FelderN(sselfs fieldList(&sself((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pys  getFieldss&&cCs,yt||&}|iSWn&&&|&Sn&Xd&S(sTitle von IDN(sgetattrsselfsidsobjstitle(sselfsidsobj((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysgetTypeTitles&&&&&&c&Csmg}x\|i|d&dg&&&D]B}&|&idjo
&|&i}n
        !            42: &|&i}|i|&i|f&&qW|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&&&
 &c&Cs;tt&iitt&d&d&i|&}&|&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.pysindicateDisplayFieldsForms&&0&cCs4ti&|&&|_|tj   o&|id&&&n&&dS(stset Displayfields
1.1       dwinter    43:         @param displayFields: Liste von Felder die im Browserenvironment angezeigt werden
1.8     ! dwinter    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}t&iit&ii|&d&&o&dSn&&y(tiiit&ii|&d&&}Wn!&&&t  i
        !            45: dt  id|&&n&Xy$|id&did&d}Wn&&&dSn&Xy(|id&}t||i}Wn"&&&d    }t||i}n&XxM|iD]B}y2|iti|i||d&di&&&Wq&&&&q&Xq&Wd
        !            46: i|&SdS(sSGebe display fields als string zurck
1.1       dwinter    47:         @param path: Pfad zum Object
                     48:         s
                     49: index.metass%OSAS_metadata (getDisplayFieldsAsStr)sCannot parse: %ssmetaisbibstypesgenerics; N(sretsosspathsexistssjoinsxmlsdomsminidomsparseszLOGsLOGsINFOsgetElementsByTagNamesbibsgetAttributestypesgetattrsselfsgenerateMappingHashsmappings
displayFieldssfieldsappendsOSAS_helperssgetTexts
1.8     ! dwinter    50: childNodes(sselfspathsdomstypesbibsmappingsretsfield((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysgetDisplayFieldsAsStrs2&&#&&&(&&&&$&&&&&&&&
        !            51: &&2&&c&Cs;tt&iitt&d&d&i|&}&|&SdS(sMain configurationszptschangeMetadata.zptN(  sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pyschangeMetadataForm&s&&0&schangeMetadatacCsJ|&|_||_|id&&d|_|tj o&|id&&n&&dS(sChange Metadatas&,ismanage_mainN(    s    linklabelsselfsdescriptionsfieldsssplits fieldListsRESPONSEsNonesredirect(sselfs  linklabelsdescriptionsfieldssRESPONSE((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pyschangeMetadata&s&& &   &&
&s
        !            52: index_htmlc&Cs;tt&iitt&d&d&i|&}&|&SdS(sformszptsimportXMLSchemaForm.zptN( sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sT/Users/dwinter/install/CVSZOPE/Zope/lib/python/Products/OSA_system2/OSAS_metadata.pysimportXMLSchemaForm#&s&&0&cCso&ti&ii|&&}|id&&}xk|D]c}|id&djoG&g}x-|id&D]}|i|id&&&q]W|d|_
q+&q+Wx|D]}|id&id&}g}h}
xi|id&D]X}|id&}    |id&}
        !            53: |id   &}ti|i&}|
        !            54: ||f|
| <qW|i|t|||
&|o&|id
        !            55: |&&q&qWdS(s_import xmlschema, Metadatenschema wird eingelesen und entsprechende Metadatenmappings angelegt.ssetsnamesgenericsentrysgenericNameisutf-8stagslabels    Wrote: %sN(sxmlsdomsminidomsparsesfilesgetElementsByTagNamessetsssetsgetAttributeslistsentrysappendsselfs    fieldListsencodesidsargListsgenericNamestagslabelsOSAS_helperssgetTexts
1.1       dwinter    56: childNodessdescriptions
1.8     ! dwinter    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                  
& 
&
 c&Cs;tt&iitt&d&d&i|&}&|&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_addMetadataFormE&s&&0&cCsMt|&|||}|ii|&|&|t
        !            59: j o&|id&&&n&&dS(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_addMetadataJ&s
        !            61: &&&&
&(s__doc__sOFS.SimpleItems
1.1       dwinter    62: SimpleItemsGlobalssInitializeClassspackage_homes
1.8     ! dwinter    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>