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

    1: -
    2: EAcsdZdkZdklZdklZdklZ	dkl	Z	
    3: dk
    4: lZlZdk
Z
dkZ
dkZdkZdkZdkTde	fd	YZ<ee>d
    5: ZCedZdS(s= Classes for displaying, browsing and organizing the archive
    6: N(sClassSecurityInfo(sPageTemplateFile(sFolder(s
    7: SimpleItem(sInitializeClassspackage_home(s*sOSAS_storeOnlinecstZdZdZeZhZhZdZ#ei	dd$dZ
    8: -ddZ;dZrd	Z
d
    9: ZddZdZdd
ZddZ5dZRS(sCWebfrontend fr das Storagesystem
   10:     liefert Browserumgebung 
   11:     sOSAS_StoreOnline__neucs||_dS(sinitialize a new instanceN(sidsself(sselfsid((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pys__init__ssViews
   12: index_htmlcsq$%&t|do't|dSn>)ttiittddi	|}*|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: 3scs-12tiitii|i|}4x_4tiitii|do|djp
   15: |djo5tii|d}q3W6|djp
   16: |djo7t	Sn9tii|dSdS(sfinde index_meta fuer diesen eventuell virtuellen Pfad
   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(
   21: sosspathsnormpathsjoinsselfsrootFolderNamesrealPathsexistsssplitsNone(sselfspathsrealPath((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pys
findIndexMeta-s'Ac
s{;?A|i|}	B|	oCtSnDtii|	d}Etiitii	|i
   22: |}Gtii
i|	}J|id}
   23: Kx|
   24: DK]}L|id}M|oNti|di}n
   25: Pd}Q|id}R|oSti|di}n
   26: Ud}Wtiitii	|||}X||joZ|iSnqW]|id}^x|
   27: D^]}_|id}`|oati|di}n
   28: cd}d|id}e|ofti|di}n
   29: hd}jtiitii	|||}k||jom|iSnqWptSdS(sfragm xml zum path
   30:         @param path: Pfad auf das Object relativ zum rootFolderName
   31:         @return: den Teil von Index.meta der Informationen zu path enthaelt, None wenn error.
   32:         isdirspathssnamesfileN(sselfs
findIndexMetaspaths	indexMetasNonesosssplitsrealPathsnormpathsjoinsrootFolderNamesxmlsdomsminidomsparsesgetElementsByTagNamesdirssdirspathessOSAS_helperssgetTexts
   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|dti	jo|d}nti
   40: |}|ii
|o|i|d|t
   41: ijo|i|dSntiii|}g}|id|id}x|D]}|id}|oti|di}
n
   42: d}
|id}
   43: |
   44: oti|
   45: di}n
   46: d}|
|jo[|idjo
d}	n
   47: d	}	tii||
|}|	df||<nq;W|t
   48: i|f|i|<|Sd
   49: S(sGebe 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.
   52:         isisdirsfilespathsnamesOSAS_dir_archivesOSAS_file_archiveN(!sretsselfs
findIndexMetaspaths	indexMetasosssplitsrealPathsreplacessepsstatsstatss_v_metaFilesshas_keysST_MTIMEsxmlsdomsminidomsparsesdirssgetElementsByTagNamesdirspathessOSAS_helperssgetTexts
   53: childNodesspathXsnamessnamestagNamesfileTypesjoinsobject(sselfspathsrealPathspathessstatssnamesdomsobjectsretsfileTypesnamess	indexMetasdirsspathXsdir((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pysgetSubDirsFromIndexMetarsB	5	
   54: 	
   55: 	
   56: 	
	csD|i|}|oti||SndSdS(smetadaten zu path als html aus dem index.meta file zu path
   57:         @param path: optional, default ist "", Pfad auf das Object relativ zum rootFolderName
   58:         @return: metadata als html
   59:         sN(sselfsfindEntryInIndexMetaspathsxmlInfossOSAS_helperssgetMetaInfoFromXML(sselfspathsxmlInfos((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pysgetMetaInfoFromIndexMetas
   60: 
   61: c
   62: stiitii|i|}|i}	|i	|idjohSntii
   63: |otSnti|}|ii|o|i|d|tijo|i|dSnti|}h}xe|D]Z}tii||}ti|}|o ||	i|f||<nqW|ti|f|i|<|SdS(sLiest files aus dem path und speichert im cache _v_filesystem.
   64: 
   65:         @param path : path relativ zum root folder des Storagesystems
   66:         @return: directory der Form [pfad zum Objekt] -> (fileType,metadatum als String)
   67:         iiN(sosspathsnormpathsjoinsselfsrootFolderNamesrealPathstestmdsmetaDatasfindsexistssNonesstatsstatss
_v_fileSystemshas_keysST_MTIMEslistdirsdirsretsfilenamesobjectsOSAS_helpersscheckOSASFileTypesfileTypesgetDisplayFieldsAsStr(
   68: sselfspathsrealPathsstatssobjectsretsfilenamesfileTypesdirsmetaData((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pysreadObjectsFromPaths('5	
   69: 	
   70: $csg}x|i|iddgddD]}||dijop|it	|dddd}|di
   71: |}|di}d||f}|i|nq4W|SdS(	s:teste ob fuer diesen Typ, handler definiert sind und gibt einen entsprechenden Link zurueck, der das Object mit diesem Handler ausfuehrt.
   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.
   75:         s
obj_metatypessOSAS_HandlerObject__neus
   76: search_subis
   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||	||	<nqRWd}
   78: g}|i}|i|
   79: x|D]}|i|||d}||ddjoH
   80: d|tii|df}|i||||dfn
||ddjoHd|tii|df}|i||||dfn2|itii|d|||dfqW|SdS(	sCerzeuge liest die Objekte aus die im Pfad gespeichert sind
   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
   86:         cs#t|i|iSdS(N(scmpsxslowersy(sxsy((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pyssortLowsisOSAS_dirs<a href="?path=%s">%s</a>isOSAS_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: 	#%#%5cstiitii|i|}|i}d} tii
   88: |}!d}"|tii
|gg}$xx$t|djo`&|d}'|djo'Pn)|i|tii
|g*tii
   89: |}qW,x,|djo-||di|idjo!.|d||dd}n60|d|d||dd	||dd}2|d}qW3|Sd
   90: S(s&generates navigation bar for viewfilessiiis<a>s</a>/s<a href=s?path=s>N(sosspathsnormpathsjoinsselfsrootFolderNamespathTmpsabsolute_urlsURLsstringsdirnamestmppathsisbasenamespathesslensappendsfind(sselfspathTmpstmppathspathessstringsURLspathsi((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pyspath_to_links*'		
"$!5cs&567ti||}:|SdS(sLese Metafile einN(sOSAS_helperssgetMetaFilesselfspathstmp(sselfspathstmp((sK/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system2/OSAS_browser.pysgetMetaFile5s(s__name__s
   91: __module__s__doc__s	meta_typesClassSecurityInfossecuritys
_v_fileSystems_v_metaFiless__init__sdeclareProtecteds
   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',csG>?@ttiittddi|}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>s3csPCDEt|}F|i||G|tj	oH|idndS(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_storeOnlineCs
   94: (s__doc__sOSAS_helperss
AccessControlsClassSecurityInfos'Products.PageTemplates.PageTemplateFilesPageTemplateFiles
   95: OFS.FoldersFoldersOFS.SimpleItems
   96: SimpleItemsGlobalssInitializeClassspackage_homeszLOGsossos.pathsstatsxml.dom.minidomsxmlstypessOSAS_storeOnlinesmanage_addOSAS_storeOnlineFormsNonesmanage_addOSAS_storeOnline(sxmlsstatsOSAS_storeOnlinesClassSecurityInfosInitializeClasssOSAS_helperss
   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>