File:  [Repository] / OSAS / OSA_system / Attic / OSAS_show.pyc
Revision 1.6: download - view: text, annotated - select for diffs - revision graph
Sun Oct 12 21:19:13 2003 UTC (20 years, 8 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
minor changes and sorfield

-
|É?csdkZdklZdklZdklZdklZ
defdYZ	8dZ
=edZEd	efd
YZ
dZedZd
ZdkTdkZdkZdkZdkZdklZdklZdklZdklZdklZdkl Z dkZdk!Zdk"Z"dk#Z$dklZdklZdk%Z%de%_&dddddgZ'deeefdYZ(deeefdYZ)deeefd YZ*d!eeefd"YZ+Pd#Z,Vd$Z-\d%Z.jd&d'Z/rd(Z0d)Z1d*Z2d+Z3d,eeefd-YZ4d.eeefd/YZ5d0eeefd1YZ6$d2Z7'd3Z8.d4Z92d5Z::d6Z;Bd7Z<Gd8Z=Ld9Z>Td:Z?_d;Z@d<ZAd=ZBd>ZCd?ZDd@ZEdAZFdBeeefdCYZGdDeeefdEYZHBdFZIGdGZJKdHZKOdIZLRdJZMVdKZNhdLklOZOl Z jdMZPdS(NN(sFolder(s
SimpleItem(sPageTemplateFile(sPageTemplatesOSAS_ShowOnlinecs
tZdZdZdZdZddZdZ"dZ&dZ	*d	Z
-d
Z0dZ3dZ
RS(
s
OnlineBrowsercs
||_dS(sinitialize a new instanceN(sidsself(sselfsid((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__ssOSAS_ShowOnlinecs,tdi|}|SdS(s	main views&Products/OSA_system/OSAS_ViewFiles.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
index_htmlsics#t|d}|SdS(sload filesystemiN(sfilesystem2sstartsk(sselfsstartsreloadsk((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetfilesystem2scs t|} |SdS(sget the filetreeN(sbrowsesstartsk(sselfsstartsk((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pystreescs!"#$t|id|SdS(s&generates navigation bar for viewfilessURLN(spath_to_link_viewsselfsREQUESTspath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyspath_to_link_view"scs&'(t|SdS(scheck if digilibN(s
isdigilib2spath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
isdigilib2&scs*+t|SdS(N(s
changeNamesname(sselfsname((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
changeName*scs-.t|SdS(N(shasMetafilespath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyshasMetafile-scs01t|SdS(N(sgetMetafilespath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetMetafile0scsK345|i|i||6|iii|idd|SdS(s%Oeffnen bzw. schlieen der SubfolderssURL1s?path=N(sselfstreespathstogglesfilesREQUESTsRESPONSEsredirect(sselfspathsfile((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pystoggle_view3s(s__name__s
__module__s__doc__s__init__s	meta_types
index_htmlsgetfilesystem2streespath_to_link_views
isdigilib2s
changeNameshasMetafilesgetMetafilestoggle_view(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysOSAS_ShowOnline
s	cs,89:tdi|};|SdS(s"interface for adding the OSAS_roots*Products/OSA_system/AddOSAS_ShowOnline.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysmanage_AddOSAS_ShowOnlineForm8scsP=>?t|}@|i||A|tj	oB|idndS(sadd the OSAS_rootsmanage_mainN(sOSAS_ShowOnlinesidsnewObjsselfs
_setObjectsRESPONSEsNonesredirect(sselfsidsRESPONSEsnewObj((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysmanage_AddOSAS_ShowOnline=s
sOSAS_StoreOnlinecsEtZdZFGdZKdZNdZSdZ]ddZcdZhdZ	ld	Z
pd
ZsdZvdZ
yd
Z~dZdZdZdZdZdZdZdZdZRS(s!Webfrontend fr das StoragesystemcsGHI||_dS(sinitialize a new instanceN(sidsself(sselfsid((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__GssOSAS_StoreOnlinecs,NOPtdi|}Q|SdS(s	main views'Products/OSA_system/OSAS_StoreFiles.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
index_htmlNscs<STUtii|doWt|Sn[gSdS(sZeige Contextes/index.metaN(sosspathsexistssreadContexts(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysreadContextsSsics#]^`t|d}a|SdS(sload filesystemiN(sfilesystem2sstartsk(sselfsstartsreloadsk((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetfilesystem2]scs cdet|}f|SdS(sget the filetreeN(sbrowsesstartsk(sselfsstartsk((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pystreecscs!hijt|id|SdS(s&generates navigation bar for viewfilessURLN(spath_to_link_storesselfsREQUESTspath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyspath_to_link_storehscslmnt|SdS(scheck if digilibN(s
isdigilib2spath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
isdigilib2lscspqt|SdS(N(s
changeNamesname(sselfsname((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
changeNamepscsstt|SdS(N(shasMetafilespath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyshasMetafilesscsvwt|SdS(N(sgetMetafilespath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetMetafilevscsKyz{|i|i||||iii|idd|SdS(s%Oeffnen bzw. schlieen der SubfolderssURL1s?path=N(sselfstreespathstogglesfilesREQUESTsRESPONSEsredirect(sselfspathsfile((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pystoggle_viewyscs~t||SdS(sTest ob Eintrag ein Folder istN(sisFoldersselfspath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysisFolder~scst||SdS(sTest ob Eintrag ein Folder istN(sisScannedDocumentsselfspath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysisScannedDocumentscst||SdS(sTest ob Eintrag ein Folder istN(s
isFullTextspathsfolder_name(sselfspathsfolder_name((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
isFullTextscs,tdi|}|SdS(sadd a new paths&Products/OSA_system/OSAS_addFolder.zptN(sPageTemplateFiles__of__sselfspt(sselfspathspt((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
addFolderFormscstdtSdS(Ns%d.%m.%Y(sstrftimes	localtime(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysdatescs)ti||||||SdS(s=add the folder to the filesystem and write the metadata filesN(s	addFoldersselfspathsfolder_namesdescriptionsarchive_creation_datescreator(sselfspathsfolder_namesdescriptionsarchive_creation_datescreator((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	addFolderscsy/tiii|d}|i}Wnd}nX||ii	d<||ii	d<t
di|}|SdS(sEditiere das Index Metafiles/index.metass	indexmetaspathsProducts/OSA_system/editindexN(
sxmlsdomsminidomsparsespathstoxmls	indexmetasselfsREQUESTsSESSIONsPageTemplateFiles__of__snewtemplate(sselfspathsdomsnewtemplates	indexmeta((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	EditIndexs
cs|iido|id}n'|idi|_|id}t|iiddd}|i	||ii
i|idd|iidSdS(	s%Sichern der Aenderungen in Index.metas
fileuploads	indexmetaspaths/index.metaswsURL1s?path=N(sselfsREQUESTshas_keysnewtextsfilenames	file_namesfilesSESSIONs	indexmetas
writelinessresponsesredirect(sselfsnewtexts	indexmeta((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
EditIndex2s cs,tdi|}|SdS(snothings(Products/OSA_system/OSAS_addmetadata.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysadd_metafiles(s__name__s
__module__s__doc__s__init__s	meta_types
index_htmlsreadContextssgetfilesystem2streespath_to_link_stores
isdigilib2s
changeNameshasMetafilesgetMetafilestoggle_viewsisFoldersisScannedDocuments
isFullTexts
addFolderFormsdates	addFolders	EditIndexs
EditIndex2sadd_metafile(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysOSAS_StoreOnlineEs,	
cs,tdi|}|SdS(s"interface for adding the OSAS_roots+Products/OSA_system/AddOSAS_StoreOnline.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysmanage_AddOSAS_StoreOnlineFormscsPt|}|i|||tj	o|idndS(sadd the OSAS_rootsmanage_mainN(sOSAS_StoreOnlinesidsnewObjsselfs
_setObjectsRESPONSEsNonesredirect(sselfsidsRESPONSEsnewObj((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysmanage_AddOSAS_StoreOnlines
cstiii|d}|id}g}x||D]q}yXt	|iddi
}t	|iddi
}|i
||fWn
nXqGW|SdS(sReadContext from index.metas/index.metascontextslinkisnameN(sxmlsdomsminidomsparsespathsgetElementsByTagNamesnodessretsnodesgetTexts
childNodesslinksnamesappend(spathsnodeslinksdomsnodessretsname((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysreadContextss	
	(s*(sClassSecurityInfo(sRoleManager(sImplicit(s
Persistent(sstrptime(sstrftimes/var/tmp/archivers.HSResources
lost+foundsNetwork Trash FoldersTheFindByContentFoldersTheVolumeSettingsFoldersfsentrycstZdZdZdZdZdZdZeZ	dZ
e	iddZe	iddZ
e	id
dZe	idd	Ze	id
dZe	idd
ZRS(sFile entry classscsptiitid|id}||_||_d|_	tii
||_dS(sinitialize classs(.*)\nisN(sosspathsabspathsressearchsextpathsgroupsselfsallsusersgetmtimesmtime(sselfsextpath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__s*sgetPathcs|iSdS(sAusgabe von pathN(sselfspath(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetPathssgetUsercs	
|iSdS(sAusgabe von userN(sselfsuser(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetUserssgetDatecs&
tdti|iSdS(sAusgabe von Dates
%Y%m%d%H%MN(sstrftimestimesgmtimesselfsmtime(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetDate
scs!|i|iSdS(s)Ausgabe einer eindeutigen Sortierbaren IDN(sselfsgetDatesgetPath(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetIDssgetTimecs|iSdS(sAusgabe von pathN(sselfstime(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetTimessgetAllcs|iSdS(sAusgabe von pathN(sselfsall(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetAlls(s__name__s
__module__s__doc__spathsusersmonthsdatestimesClassSecurityInfossecuritys__init__s
declarePublicsgetPathsgetUsersgetDatesgetIDsgetTimesgetAll(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysfsentrys(						s
filesystemcsmtZdZ !hZ"hZ#eZ%dZ,dZ=ddZ	Dei
dEdZHei
dIdZLei
d	Md
Z
Qei
dRdZWd
ZedZei
ddZei
ddZei
ddZei
ddZei
ddZRS(sstore filesystemcs=%&'tid|dd}(|i}*|SdS(sload filessystemsfind s -name '*' srN(sosspopensstartsfs	readlinesslines(sselfsstartslinessf((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetfs%scs,-.x|i|D.]}0tid|}1|tjo2|id}3|id}4|ii|o45|i|}6|i|7||i|<n9|g|i|<:|dj|djBo;d|i|<nnqWdS(sanalyse filesystems(.*/)(.*)\niis
index.metasmetas1N(sselfsgetfssstartslinesressearchsgsNonesgroupspathsfilesnodeshas_keyselementssappendshasindex(sselfsstartselementssfilesgspathsline((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysloadfs,s	icsC=>|djo,?h|_@h|_A|i|ndS(Ni(sreloadsselfsnodeshasindexsloadfssstart(sselfsstartsreload((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__=ssgetNodecsEF|iSdS(N(sselfsnode(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetNodeEssgetKeyscsIJ|iiSdS(N(sselfsnodeskeys(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetKeysIss	clearnodecsMNh|_OdSdS(Ni(sselfsnode(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	clearnodeMsshasIndexcsRT|ii|SdS(N(sselfshasindexshas_keyspath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyshasIndexRscsWXYh}Zx|iDZ]}[|ii|o\t|i|djo]t|i|djd|i|j@o^|i|||<nJ_t|i|djd|i|j@o`nb|i|||<nnqWc|SdS(s'return only files with archive materialiismetaN(sjsselfsnodeskshasindexshas_keyslen(sselfsjsk((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
onlyIndex_oldWs	
	.. csefgyit|dd}k|i}myntiii|}ot	|i
ddidjopqdSnHst	|i
ddi}u|djowxdSnz{dSWn|}~dSnXWndSnXd	S(
s'parse indexmeta and return digilib paths/index.metasrscontent-typeisfoldersarchive-storage-datesiN(
sfilespathsfsreadslinessxmlsdomsminidomsparseStringsgetTextsgetElementsByTagNames
childNodessarchive_storage_date(sselfspathsdomsfslinessarchive_storage_date((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysarchive_the_pathes*&s	onlyIndexcs_h}x?|iD]1}|i|o|i|||<nqW|SdS(sFreturn only files with archive material (archive-storage-date not set)N(sjsselfsnodesksarchive_the_path(sselfsjsk((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	onlyIndexs	
	sgetImageDirscs|id}g}x|D]}t|iddi}ti	d|d|}|tjo4y|i
|idWn
nXn|i
|q(W|SdS(Nsdirsnameis(.*)/mpiwg/online/(.*)s/i(sdomsgetElementsByTagNamesdirssdirbacksdirsgetTexts
childNodesstempsressearchspathstemp2sNonesappendsgroup(sselfsdomspathsdirsstempsdirbackstemp2sdir((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetImageDirss	
	sdigilibcs?|ii|do|i|SndSdS(s0check if folder is a container for digilib filess/sNON(sselfshasindexshas_keyspathsparseIndexMeta(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysdigilibss	isdigilibcsE|ii|dot|i|SndSdS(s?return number of possible image directories usefull for digilibs/iN(sselfshasindexshas_keyspathslensparseIndexMeta(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	isdigilibssparseIndexMetacstid|dd}|i}yxtiii	|}t
|iddi}|djp
|djo|i||}n|SWngSnXdS(	s'parse indexmeta and return digilib pathscat s/index.metasrscontent-typeisscanned-documentsscanned documentN(sosspopensksfsreadslinessxmlsdomsminidomsparseStringsgetTextsgetElementsByTagNames
childNodesscontent_typesselfsgetImageDirssdirs(sselfsksdirsscontent_typesdomsfslines((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysparseIndexMetas(s__name__s
__module__s__doc__snodeshasindexsClassSecurityInfossecuritysgetfssloadfss__init__s
declarePublicsgetNodesgetKeyss	clearnodeshasIndexs
onlyIndex_oldsarchive_the_paths	onlyIndexsgetImageDirssdigilibs	isdigilibsparseIndexMeta(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
filesystems6		
sfilesystem2cstZdZhZhZeZdZdZddZ	ei
ddZei
ddZei
d	d
Z
ei
ddZRS(
sstore filesystemcs=tid|dd}|i}|SdS(sload filessystemsfind s -name '*' srN(sosspopensstartsfs	readlinesslines(sselfsstartslinessf((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetfsscsx
|i|D]}tid|}|tjoy(|id}|id}Wn
nX|ii|o4|i|}|i|||i|<n|g|i|<|dj|djBod|i|<nnqWdS(sanalyse filesystems(.*/)(.*)\niis
index.metasmetas1N(sselfsgetfssstartslinesressearchsgsNonesgroupspathsfilesnodeshas_keyselementssappendshasindex(sselfsstartselementssfilesgspathsline((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysloadfss"	ics
dS(snothingN((sselfsstartsreload((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__ssgetImageDirscs|id}g}x|D]}t|iddi}ti	d|d|}|tjo4y|i
|idWn
nXn|i
|q(W|SdS(Nsdirsnameis(.*)/mpiwg/online/(.*)s/i(sdomsgetElementsByTagNamesdirssdirbacksdirsgetTexts
childNodesstempsressearchspathstemp2sNonesappendsgroup(sselfsdomspathsdirsstempsdirbackstemp2sdir((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetImageDirss	
	sdigilibcs?tii|do|i|SndSdS(s0check if folder is a container for digilib filess/index.metasNON(sosspathsexistssselfsparseIndexMeta(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysdigilibss	isdigilibcsBtii|dot|i|SndSdS(Ns/index.metai(sosspathsexistsslensselfsparseIndexMeta(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	isdigilibssparseIndexMetacs	
tid|dd}|i}
yktiii	|}t
|iddi}|djo|i||}n|SWngSnXdS(s'parse indexmeta and return digilib pathscat s/index.metasrscontent-typeisscanned-documentN(sosspopensksfsreadslinessxmlsdomsminidomsparseStringsgetTextsgetElementsByTagNames
childNodesscontent_typesselfsgetImageDirssdirs(sselfsksdirsscontent_typesdomsfslines((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysparseIndexMetas(s__name__s
__module__s__doc__snodeshasindexsClassSecurityInfossecuritysgetfssloadfss__init__s
declarePublicsgetImageDirssdigilibs	isdigilibsparseIndexMeta(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysfilesystem2s		sbrowsecstZeZhZhZdZ%dZ)eid*dZ	1eid2dZ
5eid6dZDeid	Ed
ZRS(NcsSg} x6|D ]+}!|tjo"|i|nqW#|SdS(N(sretsdirsitems	exclusionsappend(sselfsdirsitemsret((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysfilterExcludeds	
	cs5%&h|_'|iti||i|<dS(N(sselfstreesfilterExcludedsdircacheslistdirs	startpath(sselfs	startpath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__%ssgetTreecs_*+|ii|o,|i|Sn1.|iti||i|</|i|SdS(N(sselfstreeshas_keyspathsfilterExcludedsdircacheslistdir(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetTree*s"sisDirectorycs.23tiitii|d|SdS(Ns/(sosspathsisdirsabspathsfile(sselfspathsfile((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysisDirectory2sstogglecs}67|d|}9|ii|o?:|i|djo;d|i|<n>d|i|<nAd|i|<dS(Ns/iii(stmppathsfilespathsselfs
toggledictshas_key(sselfstmppathsfilespath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pystoggle6ssisTogglecsGEF|d|}H|ii|oJ|i|SnMdSdS(Ns/i(stmppathsfilespathsselfs
toggledictshas_key(sselfstmppathsfilespath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysisToggleEs(
s__name__s
__module__sClassSecurityInfossecuritystrees
toggledictsfilterExcludeds__init__s
declarePublicsgetTreesisDirectorystogglesisToggle(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysbrowses			cs=PQRtid|dd}S|i}T|SdS(sreturn filesystemsfind s
 -name '*'srN(sosspopensstartsfs	readlinesslines(sstartslinessf((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetfsPscs<VWt|}Xx|DX]}Y|GHqWZdSdS(Ni(sgetfssstartslinessline(sstartslineslines((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysshowallVs

	cs\]^d}_g}`t|}ax|Da]{}bybctiitii	t
id|ido'd|i
t|e|d}nWn
fgnXq1Wh|SdS(s&retrun list of entries of a filesystemis(.*)\niN(sisfssgetfssstartslinesslinesosspathsexistssabspathsressearchsgroupsappendsfsentry(sstartsfssislineslines((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysentries\s		
	7ics#jkmt|d}n|SdS(sload filesystemiN(s
filesystemsstartsk(sstartsreloadsk((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
getfilesystemjscsrstg}uh}vx:|Dv]/}w|i|ix|||i<q"Wy|iz|i{g}|x%|D|]}}|i||qW~|SdS(ssorts lists of fileentriesN(
slssdictsfssksappendsgetIDssortsreversesretsj(sfssdictslssksjsret((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyssort_by_daters		
	

	
	cs)d}tii|}d}|tii|gg}xxt|djo`|d}|djoPn|i	|tii|gtii|}qQWxO|djo>|d||dd||dd}|d}qW|SdS(	s&generates navigation bar for showfilessiiis<a href=showfiles?path=s>s</a>/N(
sstringsosspathsdirnamestmppathsisbasenamespathesslensappend(spathstmppathspathessstringsi((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyspath_to_links"		
"-cs1d}tii|}d}|tii|gg}xxt|djo`|d}|djoPn|i	|tii|gtii|}qQWxW|djoF|d|d||dd||dd}|d}qW|Sd	S(
s&generates navigation bar for viewfilessiiis<a href=s?path=s>s</a>/N(sstringsosspathsdirnamestmppathsisbasenamespathesslensappendsURL(sURLspathsispathessstringstmppath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyspath_to_link_views"		
"5cs1d}tii|}d}|tii|gg}xxt|djo`|d}|djoPn|i	|tii|gtii|}qQWxW|djoF|d|d||dd||dd}|d}qW|Sd	S(
s&generates navigation bar for viewfilessiiis<a href=s?path=s>s</a>/N(sstringsosspathsdirnamestmppathsisbasenamespathesslensappendsURL(sURLspathsispathessstringstmppath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyspath_to_link_stores"		
"5sErrorcsHtZgZeZdZeiddZRS(Ncs|d|_dS(Ni(s	initerrorsselfserror(sselfs	initerror((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__ssgetErrorcs|iSdS(N(sselfserror(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetErrors(s__name__s
__module__serrorsClassSecurityInfossecuritys__init__s
declarePublicsgetError(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysErrors
		s	metacheckcsTtZgZeZdZdZeiddZRS(Ncsd}t|djox"|D]}||d}q0Wtid|}|iddjo
d}n0|iddjo
d	}n
d
}||gSndd
gSdS(sparse for errorsis<br>s	(.*):(.*)isABORTserrorsDONEsoksrunningN(	sretstrslensstrslinesressearchschecksgroupserror(sselfsstrserrorslinesretstrscheck((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysparsearchives	
	

	csg|_t|tjoKtid|d}|iit	||i
|ign_xX|D]M}tid|d}|iit	||i
|igq}WdS(sarchive the documents in paths#/usr/local/mpiwg/archive/metacheck srN(
sselfslinesstypespaths
StringTypesosspopensfsappendsErrorsparsearchives	readliness
singlepath(sselfspaths
singlepathsf((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__s2
	smessagescs|iSdS(N(sselfslines(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysmessagess(	s__name__s
__module__slinessClassSecurityInfossecuritysparsearchives__init__s
declarePublicsmessages(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	metachecks		sarchivecsTtZgZeZdZdZeiddZRS(Ncsd}t|djox"|D]}||d}q0Wtid|}|iddjo
d}n0|iddjo
d	}n
d
}||gSn
dd
gSdS(sparse for errorsis<br>s	(.*):(.*)isABORTserrorsDONEsoksrunningN(	sretstrslensstrslinesressearchschecksgroupserror(sselfsstrserrorslinesretstrscheck((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysparsearchives	
	

	cs
g|_h|_||d<t|tjoFti|i|<t	i
d|d|i|dd}nZxS|D]H}ti|i|<t	i
d|d|i|dd}qWdS(sarchive the documents in pathsarchivers"/usr/local/mpiwg/archive/archiver s > s &srN(
sselfsliness	filenamesssessionstypespaths
StringTypestempfilesmktempsosspopensfs
singlepath(sselfspathssessions
singlepathsf((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__s
0
	smessagescs{g|_xX|iiD]D} |iit||it|i|di	gq"W!|iSdS(Nsr(
sselfsliness	filenamesskeysspathsappendsErrorsparsearchivesopens	readlines(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysmessagess
	B(	s__name__s
__module__slinessClassSecurityInfossecuritysparsearchives__init__s
declarePublicsmessages(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysarchives		cs$%t|SdS(N(sevalsstr(sstr((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysevalext$scsC'(|ii})||d|<*||d|<,d|SdS(Nserror%ispath%iserror?number=%i(scontextsREQUESTsSESSIONssessionsretsispath(sretspathscontextsissession((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
storeerror'scs!./|ii}0||SdS(N(scontextsREQUESTsSESSIONssessionsstr(sstrscontextssession((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgeterror.scsS24d}5t|d}6x$|iD6]}7||}q.W8|SdS(Nssr(sretsopenspathsfs	readlinessg(spathsgsretsf((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysreadfile2s		csR:;t|d}<|i|=|i>|id}?|SdS(Nswsarchive2(	sopenspathsfswritestxtsclosesselfs
aq_acquiresrval(sselfspathstxtsREQUESTsrvalsf((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	writefile:s

cs1BCD|id|iid<Et|SdS(s(check the metadata the documents in pathspathN(sselfsREQUESTsSESSIONs	metacheckspath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysmetacheckerBscs8GHIt||ii}J|iiidSdS(sarchive the documents in pathsarchive4N(sarchivespathsselfsREQUESTsSESSIONstmpsRESPONSEsredirect(sselfspathstmp((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysarchiverGscsXLNd}Ox;|DO]0}P|i|ijoQ||i}nqWR|SdS(Ns(srcsnodelistsnodesnodeTypes	TEXT_NODEsdata(snodelistsnodesrc((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetTextLs	
	cs~TUd}Wx]|DW]R}Y|i|ijo6Z[|dt|idt|id}nqW]|dSdS(Ns<table border='0'>s<tr><td valign='right'>s:</td><td> s
</td></tr>s</table>(	srcsnodelistsnodesnodeTypesELEMENT_NODEsstrsnodeNamesgetTexts
childNodes(snodelistsnodesrc((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetBibTs	
	7cs__`ag}btii|doddSn'ftid|dd}g|i}hti	i
i|}it|i
ddi}jt|i
ddi}kt|i
ddi}lt|i
d	di}
my#nt|i
d
di}Wnopd}nXq|djord
|d}n7s|djotd|d}nvd
|d}x|d|d|d}y|d|
d}zy{|i
ddi
dd}	||	iido#}|d|	idid}n|d}|t|	i}Wn
nX|SdS(sget index.metas/index.metasNO_METADATAscat srsnameiscreatorsarchive-creation-datesdescriptionscontent-typessscanned documents<h3>Document: s</h3>sfolders<h3>Folder: s<p><i>created by: s at: s</i></p>s<h4>Description</h4><p>s</p>smetasbibstypes
<h4>Info (s)</h4>s
<h4>Info</h4>N(shtmlsosspathsexistsspopensfsreadslinessxmlsdomsminidomsparseStringsgetTextsgetElementsByTagNames
childNodessnamescreators
creation_datesdescriptionstypesbibs
attributesshas_keysvaluesgetBib(spathsfsnamescreatorstypesdomsliness
creation_dateshtmlsbibsdescription((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetMetafile_s>	#
##
cs!tii|dSdS(sget index.metas/index.metaN(sosspathsexists(spath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyshasMetafilesc	sygti|}ddddddddd	g	}d
}xE|D]:}tii|}|d|jodSnqUWyt	i
iitii
|dd
}x|idD]q}t|iddidjoEt|idditii
|djodSnnqWdSWndSnXWndSnXdS(s9check if folder is candidate for digilib without metadatas.gifs.jpgs.jpegs.pngs.tiffs.tifs.JPGs.TIFFs.TIFsiis/index.metasdirscontent-typesimagessnameN(sosslistdirspathsdirs
imagesuffixessretsassplitextssuffixsxmlsdomsminidomsparsessplitsgetElementsByTagNamesnodesgetTexts
childNodes(spathsasnodessuffixsdomsrets
imagesuffixessdir((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
isdigilib2s,$	
	,	&6csytiii|d}xu|idD]a}t|iddidjo5t|iddi|jodSnnq;WdSWndSnXdS(	s(check if foldername in path is full texts/index.metasdirscontent-typeisfulltextsnameiN(
sxmlsdomsminidomsparsespathsgetElementsByTagNamesnodesgetTexts
childNodessfolder_name(spathsfolder_namesnodesdom((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
isFullTexts	&&csytiii|d}x|idD]x}y_t|iddidjo5t|iddi|jodSnnWn
nXq;WdSWndSnXdS(	s(check if foldername in path is full texts/index.metasdirscontent-typeispresentationsnameiN(
sxmlsdomsminidomsparsespathsgetElementsByTagNamesdirnodesgetTexts
childNodessfolder_name(spathsfolder_namesdomsdirnode((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysisPresentations	&&cs{y]tid|}|tjo$dtid|idSn|idSWndSnXdS(Ns(.*)/mpiwg/online/(.*)s
digifiles/s%(.*)/mpiwg/production/docuserver/(.*)isNO(sressearchspathstemp2sNonesgroup(spathstemp2((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
changeNames$csPd|_|ididd|ididddSdS(NisOFSPsneusHELLOsok(sselfsismanage_addProductsmanage_addDTMLMethodsgetattrsmanage_edit(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pystestsslscstZdZdZdZdZdZdZeZ	dZ
e	iddZe	iddZ
e	iddZe	id	d
ZRS(sFile entry classscsDti|_||d<tid|idddS(Nsoutfiles	ls -R / >s &sr(stempfilesmktempsselfsoutfilesstartsosspopen(sselfsstart((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__s
sreadcs|iiSdS(N(sselfsfsread(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysreadssretselfcs|SdS(N(sself(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysretselfssallcs>d}x!|iD]}||}qW|SdS(Ns(sretsselfsfsg(sselfsgsret((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysalls
	
	sprintOutfilecsEx"tii|io	q	W
t|iiSdS(N(sosspathsexistssselfsoutfilesopens	readlines(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysprintOutfiles(s__name__s
__module__s__doc__spathsusersmonthsdatestimesClassSecurityInfossecuritys__init__s
declarePublicsreadsretselfsallsprintOutfile(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyslss 					soverviewcstZ
gZhZeZdZdZ"dZ5ei	d6dZ
>ei	d?dZRS(NcsTti|}x5|D]*}|d||i|i||<qWdS(Ns/(sosslistdirspathsdirsfilesselfs	resourcessgetResource(sselfspathsfilesdir((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__s
	cst|d|d}xT|iD]C}|dd!djo&|dd!djo|Snnq-W d	SdS(
Ns/sriisINFOiisresourceserror(sfilespathsfilenamesfs	readlinessline(sselfspathsfilenamesfsline((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetResources	cs"#$d}&t|djo'x"|D']}(||d}q0W)tid|}*|iddjo
+d}n0,|iddjo
-d	}n
/d
}1||gSn3dd
gSdS(sparse for errorsis<br>s	(.*):(.*)isABORTserrorsDONEsoksrunningN(	sretstrslensstrslinesressearchschecksgroupserror(sselfsstrserrorslinesretstrscheck((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysparsearchive"s	
	

	smessagescs67g|_8xa|iiD8]M}9|i|};|iit||it	|di
gq"W<|iSdS(Nsr(sselfsliness	resourcesskeyssnamespathsappendsErrorsparsearchivesopens	readlines(sselfspathsname((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysmessages6s	;s
printResourcecs?@|iSdS(N(sselfs	resources(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
printResource?s(s__name__s
__module__sdirs	resourcessClassSecurityInfossecuritys__init__sgetResourcesparsearchives
declarePublicsmessagess
printResource(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysoverviews			
csBDt|SdS(N(soverviewspath(spath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetoverviewBscs2GHt|ii}I|iiidSdS(Nsnext(slssselfsREQUESTsSESSIONstmpsRESPONSEsredirect(sselfstmp((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysls_testGscs!KL||iid<MdSdS(Ns	somethingi(s	somethingsselfsREQUESTsSESSION(sselfs	something((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	storeFileKscsOP|iidSdS(Ns	something(sselfsREQUESTsSESSION(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetFileOscsRSTt||SdS(shreturns TRUE, wenn path ein Folder ist in den weitere Objekte Folder oder Dokumente gelegt werden drfenN(sisScannedDocumentsselfspath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysisFolderRscsVWXyYt|dd}Z|i}\yj]tiii|}^t	|i
ddi}_|djp
|djo`dSnbdSWncddSnXWnefdSnXdS(	sFreturns TRUE, wenn path der Stammordner eines gescannten Documents ists/index.metasrscontent-typeisscanned-documentsscanned documentiN(
sfilespathsfsreadslinessxmlsdomsminidomsparseStringsgetTextsgetElementsByTagNames
childNodesscontent_type(sselfspathscontent_typesdomsfslines((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysisScannedDocumentVs(s	localtimesstrftimecsjktdtSdS(Ns%d.%m.%Y(sstrftimes	localtime(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysdatejs(Qs	addFolders
OFS.FoldersFoldersOFS.SimpleItems
SimpleItems'Products.PageTemplates.PageTemplateFilesPageTemplateFiles#Products.PageTemplates.PageTemplatesPageTemplatesOSAS_ShowOnlinesmanage_AddOSAS_ShowOnlineFormsNonesmanage_AddOSAS_ShowOnlinesOSAS_StoreOnlinesmanage_AddOSAS_StoreOnlineFormsmanage_AddOSAS_StoreOnlinesreadContextsstypessurllibsosssyssres
AccessControlsClassSecurityInfosAccessControl.RolesRoleManagersAcquisitionsImplicitsGlobalss
Persistentstimesstrptimesstrftimesos.pathsdircachesxml.dom.minidomsxmlstempfilestempdirs	exclusionsfsentrys
filesystemsfilesystem2sbrowsesgetfssshowallsentriess
getfilesystemssort_by_datespath_to_linkspath_to_link_viewspath_to_link_storesErrors	metachecksarchivesevalexts
storeerrorsgeterrorsreadfiles	writefilesmetacheckersarchiversgetTextsgetBibsgetMetafileshasMetafiles
isdigilib2s
isFullTextsisPresentations
changeNamestestslssoverviewsgetoverviewsls_tests	storeFilesgetFilesisFoldersisScannedDocuments	localtimesdate(DshasMetafilestempfilesOSAS_ShowOnlinesoverviewsshowalls
getfilesystemslssRoleManagersgetoverviewsmanage_AddOSAS_StoreOnlineFormsisScannedDocumentsFoldersPageTemplatesarchivesxmls	addFolders	exclusionspath_to_link_viewsbrowsesstrptimesmanage_AddOSAS_StoreOnlinesurllibssort_by_datesevalextsgetfssgetTextsarchiversmanage_AddOSAS_ShowOnlinestimestests	storeFiles
isdigilib2sImplicitsPageTemplateFilesisFolders	metachecksOSAS_StoreOnlines
storeerrorsreadfilespath_to_linksClassSecurityInfos
Persistentsfsentryssyss
SimpleItems	writefilesgeterrorsfilesystem2sErrorsdatesres
isFullTextsgetMetafilesls_tests	localtimesmanage_AddOSAS_ShowOnlineFormsgetBibsdircachespath_to_link_stores
changeNamesisPresentations
filesystemsreadContextssgetFilesentriessmetacheckersossstrftime((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys?s.s

/U8(.*"#6

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