Annotation of OSA_system2/OSAS_browser.pyc, revision 1.5

1.5     ! dwinter     1: -
        !             2: EAcsdZd&k&Z&dklZ&dklZ&dklZ&    dkl    Z  &
        !             3: dk
        !             4: lZlZ&d&k
Z
d&kZ
d&kZd&kZd&kZdkTde    f&d   YZ<&ee&&>&d
        !             5: ZC&ed&Zd&S(s= Classes for displaying, browsing and organizing the archive
1.1       dwinter     6: N(&sClassSecurityInfo(&sPageTemplateFile(&sFolder(&s
1.5     ! dwinter     7: SimpleItem(sInitializeClassspackage_home(&s&*sOSAS_storeOnlinecstZ&dZd&ZeZhZhZdZ#ei  dd&$dZ
        !             8: -dd&Z;dZrd   Z
d
        !             9: Zdd&ZdZdd
&Z&dd&Z5&dZRS(sCWebfrontend fr das Storagesystem
1.1       dwinter    10:     liefert Browserumgebung 
1.5     ! dwinter    11:     sOSAS_StoreOnline__neucs|&|_d&S(sinitialize a new instanceN(sidsself(sselfsid((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pys__init__s&&sViews
        !            12: index_htmlc&sq$%&t|d&o&'t|d&Sn>&)ttiitt&dd&i    |&}&*|&SdS(scmain view either standard template zpt/storeOnline_index_html.zpt or storeOnline_index.html in treesstoreOnline_index.htmlszptsstoreOnline_index_html.zptN(shasattrsselfsgetattrsPageTemplateFilesosspathsjoinspackage_homesglobalss__of__spt(sselfspt((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pys
        !            13: index_html$s
        !            14: &&&3&scs-12ti&iti&i|i|&&}4x_4ti&iti&i|d&&o&|djp
        !            15: &|djo&5ti&i|&d}q3&W6|djp
        !            16: &|djo&7t    Sn&9ti&i|d&SdS(sfinde index_meta fuer diesen eventuell virtuellen Pfad
1.2       dwinter    17:         @param path: optional, default ist "", Pfad auf das Object relativ zum rootFolderName
                     18:         @return: None falls kein index.meta existiert sonst Pfad auf das index.meta
                     19:         s
                     20: index.metass&/iN(
1.5     ! dwinter    21: sosspathsnormpathsjoinsselfsrootFolderNamesrealPathsexistsssplitsNone(sselfspathsrealPath((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pys
findIndexMeta-s&'A&&&c
s{;?A|i&|&&}    B|   o&CtSn&&Dtii|  &d&}Etiitii  |i
        !            22: |&&}&Gtii
i|  &}J|id&}
        !            23: Kx|
        !            24: DK]}L|id&}M|o&Nti|d&i&}n
        !            25: &Pd}Q|id&}R|o&Sti|d&i&}n
        !            26: &Ud}Wtiitii |||&}X||&jo&Z|iSn&&qW]|id&}^x|
        !            27: D^]}_|id&}`|o&ati|d&i&}n
        !            28: &cd}d|id&}e|o&fti|d&i&}n
        !            29: &hd}jtiitii |||&}k||&jo&m|iSn&&q&WptSdS(sfragm xml zum path
1.2       dwinter    30:         @param path: Pfad auf das Object relativ zum rootFolderName
1.3       dwinter    31:         @return: den Teil von Index.meta der Informationen zu path enthaelt, None wenn error.
                     32:         isdirspathssnamesfileN(sselfs
findIndexMetaspaths   indexMetasNonesosssplitsrealPathsnormpathsjoinsrootFolderNamesxmlsdomsminidomsparsesgetElementsByTagNamesdirssdirspathessOSAS_helperssgetTexts
1.5     ! dwinter    33: childNodesspathXsnamessnames    checkpathstoxmlsfiles(
sselfspathsrealPathspathessnamesdoms   checkpathsfilessnamess   indexMetasdirsspathXsdir((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pysfindEntryInIndexMeta;sH&&&&'&
        !            34:   &&
        !            35: &    &&
        !            36: &    '&&
        !            37:   &&
        !            38: &    &&
        !            39: &    '&cs_rwxh}y|i|&&}z|o&{|Sn&&|tii|&d&}}|&i|d}&~|&o&|&d&ti jo&|&d}&n&&ti
        !            40: |&}|ii
|&o&|i|d&|t
        !            41: ijo&|i|dSn&&tiii|&}g}|id&|id&}x&|D]}|id&}|o&ti|d&i&}
n
        !            42: &d}
|id&}
        !            43: |
        !            44: o&ti|
        !            45: d&i&}n
        !            46: &d}|
|&jo[&|idjo
&d}  n
        !            47: &d }  tii||
|}|    df||<n&&q;&W|t
        !            48: i|f|i|<|Sd
1.2       dwinter    49: S(s&Gebe alle path untergeordenten Objekte aus
                     50:         @param path: optional, default ist "", Pfad auf das Object relativ zum rootFolderName
                     51:         @return: Directory [pfad auf das Objekt]->(fileType,''), fileType ist hierbei OSAS_dir_archive falls Object ein directory und OSAS_file_archive falls das Object ein File ist,der zweite Eintrag des Tupels ist zur Zeit immer '', spaeter wird hier die Beschreibung gemaess Metadaten stehen, wie bei readObjectsFromPath.
1.3       dwinter    52:         isi&sdirsfilespathsnamesOSAS_dir_archivesOSAS_file_archiveN(!sretsselfs
findIndexMetaspaths   indexMetasosssplitsrealPathsreplacessepsstatsstatss_v_metaFilesshas_keysST_MTIMEsxmlsdomsminidomsparsesdirssgetElementsByTagNamesdirspathessOSAS_helperssgetTexts
1.5     ! dwinter    53: childNodesspathXsnamessnamestagNamesfileTypesjoinsobject(sselfspathsrealPathspathessstatssnamesdomsobjectsretsfileTypesnamess   indexMetasdirsspathXsdir((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pysgetSubDirsFromIndexMetarsB&    &&&&&&&5 &
        !            54:   &&
        !            55: &    &&
        !            56: &    &&
 &&csD|i&|&&}|o&ti|&|Sn&d&SdS(smetadaten zu path als html aus dem index.meta file zu path
1.2       dwinter    57:         @param path: optional, default ist "", Pfad auf das Object relativ zum rootFolderName
                     58:         @return: metadata als html
1.5     ! dwinter    59:         sN(sselfsfindEntryInIndexMetaspathsxmlInfossOSAS_helperssgetMetaInfoFromXML(sselfspathsxmlInfos((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pysgetMetaInfoFromIndexMetas
        !            60: &&
        !            61: &c
        !            62: s&ti&iti&i|i|&&}|i}  |i    |i&d&jo&hSn&&ti&i
        !            63: |&o&tSn&&ti|&}|ii|&o&|i|d&|tijo&|i|dSn&&ti|&}h}xe|D]Z}ti&i||}ti|&}|o &||  i|&f||<n&&q&W|ti|f|i|<|SdS(sLiest files aus dem path und speichert im cache _v_filesystem.
1.1       dwinter    64: 
                     65:         @param path : path relativ zum root folder des Storagesystems
1.2       dwinter    66:         @return: directory der Form [pfad zum Objekt] -> (fileType,metadatum als String)
1.3       dwinter    67:         ii&N(sosspathsnormpathsjoinsselfsrootFolderNamesrealPathstestmdsmetaDatasfindsexistssNonesstatsstatss
_v_fileSystemshas_keysST_MTIMEslistdirsdirsretsfilenamesobjectsOSAS_helpersscheckOSASFileTypesfileTypesgetDisplayFieldsAsStr(
1.5     ! dwinter    68: sselfspathsrealPathsstatssobjectsretsfilenamesfileTypesdirsmetaData((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pysreadObjectsFromPaths('&&5&    &
        !            69:   &&
        !            70: $csg}x|i|id&dg&dd&D]}||dijop&|&it  |dddd}&|di
        !            71: |&}|di}d||f}|i|&&n&&q4W|SdS(    s:&teste ob fuer diesen Typ, handler definiert sind und gibt einen entsprechenden Link zurueck, der das Object mit diesem Handler ausfuehrt.
1.2       dwinter    72:         @param path: Pfad auf das Objekt
                     73:         @param type: Typ des Objektes
                     74:         @return: (string) html-Fragment, link der das Objekt mit diesem Handler anzeigt.
1.4       dwinter    75:         s
obj_metatypessOSAS_HandlerObject__neus
1.1       dwinter    76: search_subi&s
1.5     ! dwinter    77: ignorePathss#<a target="_blank" href="%s">%s</a>N(sretsselfsZopeFinds    aq_parentshandlerstypesobjectTypesspathsreplacesgetattrsprefixsurlstitlestextsstringsappend(sselfspathstypeshandlersstringstextsurlsret((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pysgiveHandlerss&    % &&%&&&&&cs&|i&|&&}|o
&h}n&&|i|&&}x@|iD]/}    |i| &o&||    ||  <n&&qRWd&}
        !            78: &g}&|i}&|i|
        !            79: &&&x&|D&]&}&|i|||d}&||ddjoH&
        !            80: &d|tii|&df}&|i||||df&&n&
&||ddjoH&&d|tii|&df}&|i||||df&&n2&&|itii|&d|||df&&qW&|SdS(    sCerzeuge liest die Objekte aus die im Pfad gespeichert sind
1.2       dwinter    81:         @param path: optional mit default='', Pfad relativ zu rootFolderName
                     82:         @return: List von Tripeln, (link_html,array of handlers,metainformationen) hierbei ist
                     83:         - (string) link_html ein html-Fragement, falls das Objekt vom Typ OSAS_dir ist, ist dies ein Link auf dieses Verzeichnis, sonst der Dateiname
                     84:         - (string) handler sind die Ergebnisse von giveHandlers fuer dieses Objekt
                     85:         - (string) metainformationen die Metainformationen zum Objekt als Ergebnis von readObjectsFromPath
1.5     ! dwinter    86:         cs#&t|i|&iSdS(&N(scmps&xslowers&y(s&xs&y((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pyssortLows&isOSAS_dirs<a href="?path=%s">%s</a>i&sOSAS_dir_archives<a href="?path=%s">%s (A)</a>N(sselfsreadObjectsFromPathspathsobjectssgetSubDirsFromIndexMetasimskeysskeyshas_keyssortLowsretsobjectSortedssortsobjectsgiveHandlersshandlersosssplitsstringsappend(sselfspathsstringsobjectSortedshandlersobjectsretsobjectssimskeyssortLow((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pysgenerateTrees0&&&
&&   & &&
        !            87:   &&#%&&#%5cs&&&&ti&iti&i|i|&&}&|i}&d&} &ti&i
        !            88: |&}!&d}"&|ti&i
|&gg&}$&xx$&t|&djo`&&&|d}'&|djo&'&Pn&&)&|i|ti&i
|&g&&*&ti&i
        !            89: |&}q&W,&x,&|djo&-&||di|i&djo!&.&|d||dd}n6&0&|d|d||dd  ||dd}2&|d}q&&W3&|Sd
        !            90: S(s&generates navigation bar for viewfilessii&is<a>s</a>/s<a href=s?path=s&>N(sosspathsnormpathsjoinsselfsrootFolderNamespathTmpsabsolute_urlsURLsstringsdirnamestmppaths&isbasenamespathesslensappendsfind(sselfspathTmpstmppathspathessstringsURLspaths&i((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pyspath_to_link&s*&'&  & &
&"&&$&!5&cs&5&6&7&ti&||&}:&|Sd&S(sLese Metafile einN(sOSAS_helperssgetMetaFilesselfspathstmp(sselfspathstmp((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pysgetMetaFile5&s&&(s__name__s
1.3       dwinter    91: __module__s__doc__s meta_typesClassSecurityInfossecuritys
_v_fileSystems_v_metaFiless__init__sdeclareProtecteds
1.5     ! dwinter    92: index_htmls
findIndexMetasfindEntryInIndexMetasgetSubDirsFromIndexMetasgetMetaInfoFromIndexMetasreadObjectsFromPathsgiveHandlerssgenerateTreespath_to_linksgetMetaFile(((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pysOSAS_storeOnlines"&     &   &  75',c&sG>&?&@&tt&iitt&d&d&i|&}&A&|&SdS(s"interface for adding the OSAS_rootszptsaddStoreOnline.zptN(  sPageTemplateFilesosspathsjoinspackage_homesglobalss__of__sselfspt(sselfspt((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pysmanage_addOSAS_storeOnlineForm>&s&&3&csPC&D&E&t|&&}F&|i|&|&G&|tj    o&H&|id&&&n&&dS(sadd the OSAS_rootsmanage_mainN(sOSAS_storeOnlinesidsnewObjsselfs
        !            93: _setObjectsRESPONSEsNonesredirect(sselfsidsRESPONSEsnewObj((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pysmanage_addOSAS_storeOnlineC&s
        !            94: &&&&&(s__doc__sOSAS_helperss
AccessControlsClassSecurityInfos'Products.PageTemplates.PageTemplateFilesPageTemplateFiles
1.1       dwinter    95: OFS.FoldersFoldersOFS.SimpleItems
1.3       dwinter    96: SimpleItemsGlobalssInitializeClassspackage_homeszLOGsossos.pathsstatsxml.dom.minidomsxmlstypessOSAS_storeOnlinesmanage_addOSAS_storeOnlineFormsNonesmanage_addOSAS_storeOnline(sxmlsstatsOSAS_storeOnlinesClassSecurityInfosInitializeClasssOSAS_helperss
1.5     ! dwinter    97: SimpleItemsmanage_addOSAS_storeOnlinesmanage_addOSAS_storeOnlineFormsPageTemplateFileszLOGsFoldersosspackage_home((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pys&?s"&&&&&&&&&&&
        !            98: +


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