File:  [Repository] / OSAS / OSA_system / Attic / OSAS_show.pyc
Revision 1.11: download - view: text, annotated - select for diffs - revision graph
Fri Jan 9 12:47:04 2004 UTC (20 years, 5 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
bug in hasindex fixed

-
{?csdkZdklZdklZdklZdklZ	dk	l
Z

dklZdefdYZ
=ee
?d	ZDed
ZLdefdYZeed
ZedZdZdkTdkZdkZdkZdkZdk	l
Z
dklZdklZdklZdkl Z dkl!Z!dkZdk"Zdk#Z#dk$Z%dklZdklZdk&Z&de&_'dddddgZ(deeefdYZ)4deeefdYZ*d eeefd!YZ+0d"eeefd#YZ,hd$Z-pd%Z.vd&Z/d'd(Z0d)Z1d*Z2d+Z3d,Z4d-eeefd.YZ5d/eeefd0YZ6d1eeefd2YZ7>d3Z8Ad4Z9Hd5Z:Ld6Z;Td7Z<\d8Z=ad9Z>fd:Z?nd;Z@yd<ZAd=ZBd>ZCd?ZDd@ZEdAZF
dBZGdCeeefdDYZH5dEeeefdFYZIkdGZJpdHZKtdIZLxdJZM{dKZNdLZOdMklPZPl!Z!dNZQdS(ON(sFolder(s
SimpleItem(sPageTemplateFile(sPageTemplate(sClassSecurityInfo(sInitializeClasssOSAS_ShowOnlinecstZ
eZdZdZeidddZddZ"dZ	'd	Z
+d
Z/dZ2dZ
5d
Z8dZRS(Ncs||_dS(sinitialize a new instanceN(sidsself(sselfsid((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys__init__ssOSAS_ShowOnlinesViews
index_htmlcs,tdi|}|SdS(s	main views&Products/OSA_system/OSAS_ViewFiles.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
index_htmlsics#t|d} |SdS(sload filesystemiN(sfilesystem2sstartsk(sselfsstartsreloadsk((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetfilesystem2scs "#$t|}%|SdS(sget the filetreeN(sbrowsesstartsk(sselfsstartsk((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pystree"scs!'()t|id|SdS(s&generates navigation bar for viewfilessURLN(spath_to_link_viewsselfsREQUESTspath(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pyspath_to_link_view'scs+,-t|SdS(scheck if digilibN(s
isdigilib2spath(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
isdigilib2+scs/0t|SdS(N(s
changeNamesname(sselfsname((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
changeName/scs23t|SdS(N(shasMetafilespath(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pyshasMetafile2scs56t|SdS(N(sgetMetafilespath(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetMetafile5scsK89:|i|i||;|iii|idd|SdS(s%Oeffnen bzw. schlieen der SubfolderssURL1s?path=N(sselfstreespathstogglesfilesREQUESTsRESPONSEsredirect(sselfspathsfile((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pystoggle_view8s(s__name__s
__module__sClassSecurityInfossecuritys__init__s	meta_typesdeclareProtecteds
index_htmlsgetfilesystem2streespath_to_link_views
isdigilib2s
changeNameshasMetafilesgetMetafilestoggle_view(((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysOSAS_ShowOnlines		cs,?@Atdi|}B|SdS(s"interface for adding the OSAS_roots*Products/OSA_system/AddOSAS_ShowOnline.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysmanage_AddOSAS_ShowOnlineForm?scsPDEFt|}G|i||H|tj	oI|idndS(sadd the OSAS_rootsmanage_mainN(sOSAS_ShowOnlinesidsnewObjsselfs
_setObjectsRESPONSEsNonesredirect(sselfsidsRESPONSEsnewObj((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysmanage_AddOSAS_ShowOnlineDs
sOSAS_StoreOnlinecs;LtZdZMNeZPdZTdZVeiddWdZ\dZ	fdZ
qdd	Zwd
Z|dZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZRS(s!Webfrontend fr das StoragesystemcsPQR||_dS(sinitialize a new instanceN(sidsself(sselfsid((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys__init__PssOSAS_StoreOnlinesViews
index_htmlcs,WXYtdi|}Z|SdS(s	main views'Products/OSA_system/OSAS_StoreFiles.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
index_htmlWscs<\]^tii|do`t|SndgSdS(sZeige Contextes/index.metaN(sosspathsexistssreadContexts(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysreadContexts\scspfgitidtidd|idk|id|iid<mtdi|}n|SdS(s!rescale thumbs of imeages in pathsssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/thumb 90 --replace >> /tmp/sc.out &s/mpiwg/online/sspaths#Products/OSA_system/OSAS_scaled.zptN(
sosspopensressubsselfsREQUESTsSESSIONsPageTemplateFiles__of__spt(sselfspathspt((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
rescaleThumbsfs
*ics#qrtt|d}u|SdS(sload filesystemiN(sfilesystem2sstartsk(sselfsstartsreloadsk((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetfilesystem2qscs wxyt|}z|SdS(sget the filetreeN(sbrowsesstartsk(sselfsstartsk((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pystreewscs!|}~t|id|SdS(s&generates navigation bar for viewfilessURLN(spath_to_link_storesselfsREQUESTspath(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pyspath_to_link_store|scst|SdS(scheck if digilibN(s
isdigilib2spath(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
isdigilib2scst|SdS(N(s
changeNamesname(sselfsname((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
changeNamescst|SdS(N(shasMetafilespath(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pyshasMetafilescst|SdS(N(sgetMetafilespath(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetMetafilescsK|i|i|||iii|idd|SdS(s%Oeffnen bzw. schlieen der SubfolderssURL1s?path=N(sselfstreespathstogglesfilesREQUESTsRESPONSEsredirect(sselfspathsfile((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pystoggle_viewscst||SdS(sTest ob Eintrag ein Folder istN(sisFoldersselfspath(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysisFolderscst||SdS(sTest ob Eintrag ein Folder istN(sisScannedDocumentsselfspath(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysisScannedDocumentscst||SdS(sTest ob Eintrag ein Folder istN(s
isFullTextspathsfolder_name(sselfspathsfolder_name((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
addFolderFormscstdtSdS(Ns%d.%m.%Y(sstrftimes	localtime(sself((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
EditIndex2s cs,tdi|}|SdS(snothings(Products/OSA_system/OSAS_addmetadata.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysadd_metafiles(s__name__s
__module__s__doc__sClassSecurityInfossecuritys__init__s	meta_typesdeclareProtecteds
index_htmlsreadContextss
rescaleThumbssgetfilesystem2streespath_to_link_stores
isdigilib2s
changeNameshasMetafilesgetMetafilestoggle_viewsisFoldersisScannedDocuments
isFullTexts
addFolderFormsdates	addFolders	EditIndexs
EditIndex2sadd_metafile(((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysOSAS_StoreOnlineLs2	
cs,tdi|}|SdS(s"interface for adding the OSAS_roots+Products/OSA_system/AddOSAS_StoreOnline.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysmanage_AddOSAS_StoreOnlineFormscsPt|}|i|||tj	o|idndS(sadd the OSAS_rootsmanage_mainN(sOSAS_StoreOnlinesidsnewObjsselfs
_setObjectsRESPONSEsNonesredirect(sselfsidsRESPONSEsnewObj((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysreadContextss	
	(s*(sRoleManager(sImplicit(s
Persistent(sstrptime(sstrftimes/var/tmp/archivers.HSResources
lost+foundsNetwork Trash FoldersTheFindByContentFoldersTheVolumeSettingsFoldersfsentrycstZdZdZdZ	dZ
dZdZ
eZ	dZ
e	iddZe	iddZ
!e	id"dZ&e	id'd	Z+e	id
,dZ/e	id0d
ZRS(sFile entry classscsptiitid|id}||_||_d|_	tii
||_dS(sinitialize classs(.*)\nisN(sosspathsabspathsressearchsextpathsgroupsselfsallsusersgetmtimesmtime(sselfsextpath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys__init__s*sgetPathcs|iSdS(sAusgabe von pathN(sselfspath(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetPathssgetUsercs|iSdS(sAusgabe von userN(sselfsuser(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetUserssgetDatecs&"#$tdti|iSdS(sAusgabe von Dates
%Y%m%d%H%MN(sstrftimestimesgmtimesselfsmtime(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetDate"scs!'()|i|iSdS(s)Ausgabe einer eindeutigen Sortierbaren IDN(sselfsgetDatesgetPath(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetID'ssgetTimecs,-.|iSdS(sAusgabe von pathN(sselfstime(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetTime,ssgetAllcs012|iSdS(sAusgabe von pathN(sselfsall(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetAll0s(s__name__s
__module__s__doc__spathsusersmonthsdatestimesClassSecurityInfossecuritys__init__s
declarePublicsgetPathsgetUsersgetDatesgetIDsgetTimesgetAll(((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysfsentrys(						s
filesystemcsm4tZdZ56hZ7hZ8eZ:dZAdZRddZ	Yei
dZdZ]ei
d^dZaei
d	bd
Z
fei
dgdZld
ZzdZei
ddZei
ddZei
ddZei
ddZei
ddZRS(sstore filesystemcs=:;<tid|dd}=|i}?|SdS(sload filessystemsfind s -name '*' srN(sosspopensstartsfs	readlinesslines(sselfsstartslinessf((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetfs:scsABCx|i|DC]}Etid|}F|tjoG|id}H|id}I|ii|o4J|i|}K|i|L||i|<nN|g|i|<O|dj|djBoPd|i|<nnqWdS(sanalyse filesystems(.*/)(.*)\niis
index.metasmetas1N(sselfsgetfssstartslinesressearchsgsNonesgroupspathsfilesnodeshas_keyselementssappendshasindex(sselfsstartselementssfilesgspathsline((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysloadfsAs	icsCRS|djo,Th|_Uh|_V|i|ndS(Ni(sreloadsselfsnodeshasindexsloadfssstart(sselfsstartsreload((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys__init__RssgetNodecsZ[|iSdS(N(sselfsnode(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetNodeZssgetKeyscs^_|iiSdS(N(sselfsnodeskeys(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetKeys^ss	clearnodecsbch|_ddSdS(Ni(sselfsnode(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys	clearnodebsshasIndexcsgi|ii|SdS(N(sselfshasindexshas_keyspath(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pyshasIndexgscslmnh}ox|iDo]}p|ii|oqt|i|djort|i|djd|i|j@os|i|||<nJtt|i|djd|i|j@ounw|i|||<nnqWx|SdS(s'return only files with archive materialiismetaN(sjsselfsnodeskshasindexshas_keyslen(sselfsjsk((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
onlyIndex_oldls	
	.. csz{}yt|dd}|i}ytiii|}|i	do8t
|i	ddidjodSnnt
|i	ddi}|djodSndSWndSnXWndSnXd	S(
s'parse indexmeta and return digilib paths/index.metasrscontent-typeisfoldersarchive-storage-datesiN(
sfilespathsfsreadslinessxmlsdomsminidomsparseStringsgetElementsByTagNamesgetTexts
childNodessarchive_storage_date(sselfspathsdomsfslinessarchive_storage_date((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysarchive_the_pathzs,&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((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/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(((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
filesystem4s6		 
sfilesystem2cstZdZhZhZeZdZdZddZ	ei
ddZei
ddZei
d	d
Z
ei
d dZRS(
sstore filesystemcs=tid|dd}|i}|SdS(sload filessystemsfind s -name '*' srN(sosspopensstartsfs	readlinesslines(sselfsstartslinessf((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysloadfss"	ics
dS(snothingN((sselfsstartsreload((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysdigilibss	isdigilibcsBtii|dot|i|SndSdS(Ns/index.metai(sosspathsexistsslensselfsparseIndexMeta(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys	isdigilibssparseIndexMetacs !"tid|dd}#|i}%yk&tiii	|}'t
|iddi}(|djo)|i||}n+|SWn,-gSnXdS(s'parse indexmeta and return digilib pathscat s/index.metasrscontent-typeisscanned-documentN(sosspopensksfsreadslinessxmlsdomsminidomsparseStringsgetTextsgetElementsByTagNames
childNodesscontent_typesselfsgetImageDirssdirs(sselfsksdirsscontent_typesdomsfslines((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysparseIndexMeta s(s__name__s
__module__s__doc__snodeshasindexsClassSecurityInfossecuritysgetfssloadfss__init__s
declarePublicsgetImageDirssdigilibs	isdigilibsparseIndexMeta(((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysfilesystem2s		sbrowsecs0tZ2eZ3hZ4hZ6dZ=dZAeidBdZ	IeidJdZ
MeidNdZ\eid	]d
ZRS(NcsS67g}8x6|D8]+}9|tjo:|i|nqW;|SdS(N(sretsdirsitems	exclusionsappend(sselfsdirsitemsret((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysfilterExcluded6s	
	cs5=>h|_?|iti||i|<dS(N(sselfstreesfilterExcludedsdircacheslistdirs	startpath(sselfs	startpath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys__init__=ssgetTreecs_BC|ii|oD|i|Sn1F|iti||i|<G|i|SdS(N(sselfstreeshas_keyspathsfilterExcludedsdircacheslistdir(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetTreeBs"sisDirectorycs.JKtiitii|d|SdS(Ns/(sosspathsisdirsabspathsfile(sselfspathsfile((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysisDirectoryJsstogglecs}NO|d|}Q|ii|o?R|i|djoSd|i|<nVd|i|<nYd|i|<dS(Ns/iii(stmppathsfilespathsselfs
toggledictshas_key(sselfstmppathsfilespath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pystoggleNssisTogglecsG]^|d|}`|ii|ob|i|SnedSdS(Ns/i(stmppathsfilespathsselfs
toggledictshas_key(sselfstmppathsfilespath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysisToggle]s(
s__name__s
__module__sClassSecurityInfossecuritystrees
toggledictsfilterExcludeds__init__s
declarePublicsgetTreesisDirectorystogglesisToggle(((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysbrowse0s			cs=hiltid|dd}m|i}n|SdS(sreturn filesystemsfind s
 -name '*'srN(sosspopensstartsfs	readlinesslines(sstartslinessf((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetfshscs<pqt|}rx|Dr]}s|GHqWtdSdS(Ni(sgetfssstartslinessline(sstartslineslines((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysshowallps

	csvwxd}yg}zt|}{x|D{]{}|yb}tiitii	t
id|ido'~|i
t||d}nWn
nXq1W|SdS(s&retrun list of entries of a filesystemis(.*)\niN(sisfssgetfssstartslinesslinesosspathsexistssabspathsressearchsgroupsappendsfsentry(sstartsfssislineslines((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysentriesvs		
	7ics#t|d}|SdS(sload filesystemiN(s
filesystemsstartsk(sstartsreloadsk((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
getfilesystemscsg}h}x:|D]/}|i|i|||i<q"W|i|ig}x%|D]}|i||qW|SdS(ssorts lists of fileentriesN(
slssdictsfssksappendsgetIDssortsreversesretsj(sfssdictslssksjsret((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pyssort_by_dates		
	

	
	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((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pyspath_to_link_stores"		
"5sErrorcsHtZgZeZdZeiddZRS(Ncs|d|_dS(Ni(s	initerrorsselfserror(sselfs	initerror((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys__init__ssgetErrorcs|iSdS(N(sselfserror(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetErrors(s__name__s
__module__serrorsClassSecurityInfossecuritys__init__s
declarePublicsgetError(((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysErrors
		s	metacheckcsTtZgZeZdZdZeid
dZRS(Ncsd}t|djox"|D]}||d}q0Wtid|}|iddjo
d}n0|iddjo
d	}n
d
}||gSndd
gSdS(sparse for errorsis<br>s	(.*):(.*)isABORTserrorsDONEsoksrunningN(	sretstrslensstrslinesressearchschecksgroupserror(sselfsstrserrorslinesretstrscheck((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys__init__s2
	smessagescs
|iSdS(N(sselfslines(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysmessages
s(	s__name__s
__module__slinessClassSecurityInfossecuritysparsearchives__init__s
declarePublicsmessages(((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys	metachecks		sarchivecsTtZgZeZdZ&dZ5eid6dZRS(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((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysparsearchives	
	

	cs&'(g|_)h|_*||d<-t|tjoF.ti|i|</t	i
d|d|i|dd}nZ1xS|D1]H}2ti|i|<3t	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((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys__init__&s
0
	smessagescs{67g|_8xX|iiD8]D}:|iit||it|i|di	gq"W;|iSdS(Nsr(
sselfsliness	filenamesskeysspathsappendsErrorsparsearchivesopens	readlines(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysmessages6s
	B(	s__name__s
__module__slinessClassSecurityInfossecuritysparsearchives__init__s
declarePublicsmessages(((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysarchives		cs>?t|SdS(N(sevalsstr(sstr((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysevalext>scsCAB|ii}C||d|<D||d|<Fd|SdS(Nserror%ispath%iserror?number=%i(scontextsREQUESTsSESSIONssessionsretsispath(sretspathscontextsissession((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
storeerrorAscs!HI|ii}J||SdS(N(scontextsREQUESTsSESSIONssessionsstr(sstrscontextssession((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgeterrorHscsSLNd}Ot|d}Px$|iDP]}Q||}q.WR|SdS(Nssr(sretsopenspathsfs	readlinessg(spathsgsretsf((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysreadfileLs		csRTUt|d}V|i|W|iX|id}Y|SdS(Nswsarchive2(	sopenspathsfswritestxtsclosesselfs
aq_acquiresrval(sselfspathstxtsREQUESTsrvalsf((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys	writefileTs

cs1\]^|id|iid<_t|SdS(s(check the metadata the documents in pathspathN(sselfsREQUESTsSESSIONs	metacheckspath(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysmetachecker\scs8abct||ii}d|iiidSdS(sarchive the documents in pathsarchive4N(sarchivespathsselfsREQUESTsSESSIONstmpsRESPONSEsredirect(sselfspathstmp((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysarchiverascsXfhd}ix;|Di]0}j|i|ijok||i}nqWl|SdS(Ns(srcsnodelistsnodesnodeTypes	TEXT_NODEsdata(snodelistsnodesrc((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetTextfs	
	cs~nod}qx]|Dq]R}s|i|ijo6tu|dt|idt|id}nqWw|dSdS(Ns<table border='0'>s<tr><td valign='right'>s:</td><td> s
</td></tr>s</table>(	srcsnodelistsnodesnodeTypesELEMENT_NODEsstrsnodeNamesgetTexts
childNodes(snodelistsnodesrc((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetBibns	
	7csyz{g}|tii|do~dSntid|dd}|i}ti	i
i|}y#t|i
ddi}Wnd}nXy#t|i
ddi}Wnd}nXy#t|i
d	di}Wnd}nXy#t|i
d
di}
Wnd}
nXy#t|i
ddi}Wnd}nX|d
jod|d}n7|djod|d}nd|d}|d|d|d}|d|
d}y|i
ddi
dd}	|	iido#|d|	idid}n|d}|t|	i}Wn
nX|SdS(sget index.metas/index.metasNO_METADATAscat srsnameisNOT_DEFINED!!!screatorsarchive-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((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetMetafileysV	#
#
#
#
#
##
cs!tii|dSdS(sget index.metas/index.metaN(sosspathsexists(spath((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/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((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
changeNames$csP
d|_
|ididd|ididddSdS(NisOFSPsneusHELLOsok(sselfsismanage_addProductsmanage_addDTMLMethodsgetattrsmanage_edit(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pystest
sslscstZdZdZdZdZdZdZeZ	dZ
"e	id#dZ%e	id&dZ
(e	id)dZ/e	id	0d
ZRS(sFile entry classscsDti|_||d<tid|idddS(Nsoutfiles	ls -R / >s &sr(stempfilesmktempsselfsoutfilesstartsosspopen(sselfsstart((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys__init__s
sreadcs#$|iiSdS(N(sselfsfsread(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysread#ssretselfcs&'|SdS(N(sself(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysretself&ssallcs>)*d}+x!|iD+]},||}qW-|SdS(Ns(sretsselfsfsg(sselfsgsret((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysall)s
	
	sprintOutfilecsE01x"1tii|io2q	W3t|iiSdS(N(sosspathsexistssselfsoutfilesopens	readlines(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysprintOutfile0s(s__name__s
__module__s__doc__spathsusersmonthsdatestimesClassSecurityInfossecuritys__init__s
declarePublicsreadsretselfsallsprintOutfile(((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pyslss 					soverviewcs5tZ6gZ7hZ8eZ:dZAdZKdZ^ei	d_dZ
gei	dhdZRS(NcsT:;ti|}=x5|D=]*}>|d||i|i||<qWdS(Ns/(sosslistdirspathsdirsfilesselfs	resourcessgetResource(sselfspathsfilesdir((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys__init__:s
	csABt|d|d}DxT|iDD]C}F|dd!djo&G|dd!djoH|Snnq-WId	SdS(
Ns/sriisINFOiisresourceserror(sfilespathsfilenamesfs	readlinessline(sselfspathsfilenamesfsline((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetResourceAs	csKLMd}Ot|djoPx"|DP]}Q||d}q0WRtid|}S|iddjo
Td}n0U|iddjo
Vd	}n
Xd
}Z||gSn\dd
gSdS(sparse for errorsis<br>s	(.*):(.*)isABORTserrorsDONEsoksrunningN(	sretstrslensstrslinesressearchschecksgroupserror(sselfsstrserrorslinesretstrscheck((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysparsearchiveKs	
	

	smessagescs_`g|_axa|iiDa]M}b|i|}d|iit||it	|di
gq"We|iSdS(Nsr(sselfsliness	resourcesskeyssnamespathsappendsErrorsparsearchivesopens	readlines(sselfspathsname((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysmessages_s	;s
printResourcecshi|iSdS(N(sselfs	resources(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys
printResourcehs(s__name__s
__module__sdirs	resourcessClassSecurityInfossecuritys__init__sgetResourcesparsearchives
declarePublicsmessagess
printResource(((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysoverview5s			
cskmt|SdS(N(soverviewspath(spath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetoverviewkscs2pqt|ii}r|iiidSdS(Nsnext(slssselfsREQUESTsSESSIONstmpsRESPONSEsredirect(sselfstmp((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysls_testpscs!tu||iid<vdSdS(Ns	somethingi(s	somethingsselfsREQUESTsSESSION(sselfs	something((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys	storeFiletscsxy|iidSdS(Ns	something(sselfsREQUESTsSESSION(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysgetFilexscs{|}t||SdS(shreturns TRUE, wenn path ein Folder ist in den weitere Objekte Folder oder Dokumente gelegt werden drfenN(sisScannedDocumentsselfspath(sselfspath((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysisFolder{scsyt|dd}|i}yjtiii|}t	|i
ddi}|djp
|djodSndSWndSnXWndSnXdS(	sFreturns TRUE, wenn path der Stammordner eines gescannten Documents ists/index.metasrscontent-typeisscanned-documentsscanned documentiN(
sfilespathsfsreadslinessxmlsdomsminidomsparseStringsgetTextsgetElementsByTagNames
childNodesscontent_type(sselfspathscontent_typesdomsfslines((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysisScannedDocuments(s	localtimesstrftimecstdtSdS(Ns%d.%m.%Y(sstrftimes	localtime(sself((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pysdates(Rs	addFolders
OFS.FoldersFoldersOFS.SimpleItems
SimpleItems'Products.PageTemplates.PageTemplateFilesPageTemplateFiles#Products.PageTemplates.PageTemplatesPageTemplates
AccessControlsClassSecurityInfosGlobalssInitializeClasssOSAS_ShowOnlinesmanage_AddOSAS_ShowOnlineFormsNonesmanage_AddOSAS_ShowOnlinesOSAS_StoreOnlinesmanage_AddOSAS_StoreOnlineFormsmanage_AddOSAS_StoreOnlinesreadContextsstypessurllibsosssyssresAccessControl.RolesRoleManagersAcquisitionsImplicits
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(EshasMetafilestempfilesOSAS_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
PersistentsInitializeClassssyss
SimpleItems	writefilesgeterrorsfilesystem2sErrorsdatesres
isFullTextsgetMetafilesls_tests	localtimesmanage_AddOSAS_ShowOnlineFormsgetBibsfsentrysdircachespath_to_link_stores
changeNamesisPresentations
filesystemsreadContextssgetFilesentriessmetacheckersossstrftime((sG/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/OSAS_show.pys?s1



/V8(.9"#6

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