File:  [Repository] / OSAS / OSA_system / Attic / OSAS_show.pyc
Revision 1.12: download - view: text, annotated - select for diffs - revision graph
Thu Jan 29 10:19:38 2004 UTC (20 years, 5 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
bug in isolist fixed and rights are now correct after download of images

-
@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)6deeefdYZ*d eeefd!YZ+2d"eeefd#YZ,jd$Z-rd%Z.xd&Z/d'd(Z0d)Z1d*Z2d+Z3d,Z4d-eeefd.YZ5d/eeefd0YZ6d1eeefd2YZ7@d3Z8Cd4Z9Jd5Z:Nd6Z;Vd7Z<^d8Z=cd9Z>hd:Z?pd;Z@{d<ZAd=ZBd>ZCd?ZDd@ZEdAZFdBZGdCeeefdDYZH7dEeeefdFYZImdGZJrdHZKvdIZLzdJZM}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((sA/usr/local/mpiwg/Zope/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((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.pystree"scs!'()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/0t|SdS(N(s
changeNamesname(sselfsname((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
changeName/scs23t|SdS(N(shasMetafilespath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyshasMetafile2scs56t|SdS(N(sgetMetafilespath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetMetafile5scsK89:|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_view8s(s__name__s
__module__sClassSecurityInfossecuritys__init__s	meta_typesdeclareProtecteds
index_htmlsgetfilesystem2streespath_to_link_views
isdigilib2s
changeNameshasMetafilesgetMetafilestoggle_view(((sA/usr/local/mpiwg/Zope/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((sA/usr/local/mpiwg/Zope/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((sA/usr/local/mpiwg/Zope/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((sA/usr/local/mpiwg/Zope/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((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
index_htmlWscs<\]^tii|do`t|SndgSdS(sZeige Contextes/index.metaN(sosspathsexistssreadContexts(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysreadContexts\scspfgitidtidd|idk|id|iid<mtdi|}n|SdS(s rescale thumbs of images 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((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
rescaleThumbsfs
*ics#qrtt|d}u|SdS(sload filesystemiN(sfilesystem2sstartsk(sselfsstartsreloadsk((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetfilesystem2qscs wxyt|}z|SdS(sget the filetreeN(sbrowsesstartsk(sselfsstartsk((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pystreewscs!|}~t|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_store|scst|SdS(scheck if digilibN(s
isdigilib2spath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
isdigilib2scst|SdS(N(s
changeNamesname(sselfsname((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
changeNamescst|SdS(N(shasMetafilespath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyshasMetafilescst|SdS(N(sgetMetafilespath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetMetafilescsK|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_viewscst||SdS(sTest ob Eintrag ein Folder istN(sisFoldersselfspath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysisFolderscst||SdS(s(Test ob Eintrag ein Scanned Document 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
isFullTextscstdtSdS(Ns%d.%m.%Y(sstrftimes	localtime(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysdatescs,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
addFolderFormscs)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__sClassSecurityInfossecuritys__init__s	meta_typesdeclareProtecteds
index_htmlsreadContextss
rescaleThumbssgetfilesystem2streespath_to_link_stores
isdigilib2s
changeNameshasMetafilesgetMetafilestoggle_viewsisFoldersisScannedDocuments
isFullTextsdates
addFolderForms	addFolders	EditIndexs
EditIndex2sadd_metafile(((sA/usr/local/mpiwg/Zope/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((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*(sRoleManager(sImplicit(s
Persistent(sstrptime(sstrftimes/var/tmp/archivers.HSResources
lost+foundsNetwork Trash FoldersTheFindByContentFoldersTheVolumeSettingsFoldersfsentrycstZdZ	dZ
dZdZdZ
dZeZ	dZ
e	iddZe	iddZ
#e	id$dZ(e	id)d	Z-e	id
.dZ1e	id2d
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.pysgetID)ssgetTimecs./0|iSdS(sAusgabe von pathN(sselfstime(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetTime.ssgetAllcs234|iSdS(sAusgabe von pathN(sselfsall(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetAll2s(s__name__s
__module__s__doc__spathsusersmonthsdatestimesClassSecurityInfossecuritys__init__s
declarePublicsgetPathsgetUsersgetDatesgetIDsgetTimesgetAll(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysfsentrys(						s
filesystemcsm6tZdZ78hZ9hZ:eZ<dZCdZTddZ	[ei
d\dZ_ei
d`dZcei
d	dd
Z
hei
didZnd
Z|dZei
ddZei
ddZei
ddZei
ddZei
ddZRS(sstore filesystemcs=<=>tid|dd}?|i}A|SdS(sload filessystemsfind s -name '*' srN(sosspopensstartsfs	readlinesslines(sselfsstartslinessf((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetfs<scsCDEx|i|DE]}Gtid|}H|tjoI|id}J|id}K|ii|o4L|i|}M|i|N||i|<nP|g|i|<Q|dj|djBoRd|i|<nnqWdS(sanalyse filesystems(.*/)(.*)\niis
index.metasmetas1N(sselfsgetfssstartslinesressearchsgsNonesgroupspathsfilesnodeshas_keyselementssappendshasindex(sselfsstartselementssfilesgspathsline((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysloadfsCs	icsCTU|djo,Vh|_Wh|_X|i|ndS(Ni(sreloadsselfsnodeshasindexsloadfssstart(sselfsstartsreload((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__TssgetNodecs\]|iSdS(N(sselfsnode(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetNode\ssgetKeyscs`a|iiSdS(N(sselfsnodeskeys(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetKeys`ss	clearnodecsdeh|_fdSdS(Ni(sselfsnode(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	clearnodedsshasIndexcsik|ii|SdS(N(sselfshasindexshas_keyspath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyshasIndexiscsnoph}qx|iDq]}r|ii|ost|i|djott|i|djd|i|j@ou|i|||<nJvt|i|djd|i|j@owny|i|||<nnqWz|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_oldns	
	.. cs|}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((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysarchive_the_path|s,&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
filesystem6s6		 
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((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o4
y|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|Sn dSdS(Ns/index.metai(sosspathsexistsslensselfsparseIndexMeta(sselfspath((sA/usr/local/mpiwg/Zope/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((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysparseIndexMeta"s(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		sbrowsecs2tZ4eZ5hZ6hZ8dZ?dZCeidDdZ	KeidLdZ
OeidPdZ^eid	_d
ZRS(NcsS89g}:x6|D:]+};|tjo<|i|nqW=|SdS(N(sretsdirsitems	exclusionsappend(sselfsdirsitemsret((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysfilterExcluded8s	
	cs5?@h|_A|iti||i|<dS(N(sselfstreesfilterExcludedsdircacheslistdirs	startpath(sselfs	startpath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__?ssgetTreecs_DE|ii|oF|i|Sn1H|iti||i|<I|i|SdS(N(sselfstreeshas_keyspathsfilterExcludedsdircacheslistdir(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetTreeDs"sisDirectorycs.LMtiitii|d|SdS(Ns/(sosspathsisdirsabspathsfile(sselfspathsfile((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysisDirectoryLsstogglecs}PQ|d|}S|ii|o?T|i|djoUd|i|<nXd|i|<n[d|i|<dS(Ns/iii(stmppathsfilespathsselfs
toggledictshas_key(sselfstmppathsfilespath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pystogglePssisTogglecsG_`|d|}b|ii|od|i|SngdSdS(Ns/i(stmppathsfilespathsselfs
toggledictshas_key(sselfstmppathsfilespath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysisToggle_s(
s__name__s
__module__sClassSecurityInfossecuritystrees
toggledictsfilterExcludeds__init__s
declarePublicsgetTreesisDirectorystogglesisToggle(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysbrowse2s			cs=jkntid|dd}o|i}p|SdS(sreturn filesystemsfind s
 -name '*'srN(sosspopensstartsfs	readlinesslines(sstartslinessf((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetfsjscs<rst|}tx|Dt]}u|GHqWvdSdS(Ni(sgetfssstartslinessline(sstartslineslines((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysshowallrs

	csxyzd}{g}|t|}}x|D}]{}~ybtiitii	t
id|ido'|i
t||d}nWn
nXq1W|SdS(s&retrun list of entries of a filesystemis(.*)\niN(sisfssgetfssstartslinesslinesosspathsexistssabspathsressearchsgroupsappendsfsentry(sstartsfssislineslines((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysentriesxs		
	7ics#t|d}|SdS(sload filesystemiN(s
filesystemsstartsk(sstartsreloadsk((sA/usr/local/mpiwg/Zope/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((sA/usr/local/mpiwg/Zope/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((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	metacheckcsTtZgZeZdZdZ
eid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((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.pysmessagess(	s__name__s
__module__slinessClassSecurityInfossecuritysparsearchives__init__s
declarePublicsmessages(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	metachecks		sarchivecsTtZgZeZdZ(dZ7eid8dZRS(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|tjoF0ti|i|<1t	i
d|d|i|dd}nZ3xS|D3]H}4ti|i|<5t	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{89g|_: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.pysmessages8s
	B(	s__name__s
__module__slinessClassSecurityInfossecuritysparsearchives__init__s
declarePublicsmessages(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysarchives		cs@At|SdS(N(sevalsstr(sstr((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysevalext@scsCCD|ii}E||d|<F||d|<Hd|SdS(Nserror%ispath%iserror?number=%i(scontextsREQUESTsSESSIONssessionsretsispath(sretspathscontextsissession((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
storeerrorCscs!JK|ii}L||SdS(N(scontextsREQUESTsSESSIONssessionsstr(sstrscontextssession((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgeterrorJscsSNPd}Qt|d}Rx$|iDR]}S||}q.WT|SdS(Nssr(sretsopenspathsfs	readlinessg(spathsgsretsf((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysreadfileNs		csRVWt|d}X|i|Y|iZ|id}[|SdS(Nswsarchive2(	sopenspathsfswritestxtsclosesselfs
aq_acquiresrval(sselfspathstxtsREQUESTsrvalsf((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	writefileVs

cs1^_`|id|iid<at|SdS(s(check the metadata the documents in pathspathN(sselfsREQUESTsSESSIONs	metacheckspath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysmetachecker^scs8cdet||ii}f|iiidSdS(sarchive the documents in pathsarchive4N(sarchivespathsselfsREQUESTsSESSIONstmpsRESPONSEsredirect(sselfspathstmp((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysarchivercscsXhjd}kx;|Dk]0}l|i|ijom||i}nqWn|SdS(Ns(srcsnodelistsnodesnodeTypes	TEXT_NODEsdata(snodelistsnodesrc((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetTexths	
	cs~pqd}sx]|Ds]R}u|i|ijo6vw|dt|idt|id}nqWy|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.pysgetBibps	
	7cs{|}g}~tii|dodSntid|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(s*get index.meta and translate it to an HTMLs/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((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetMetafile{sV	#
#
#
#
#
##
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|idSWn	dSnXdS(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$csP
d|_|ididd|ididddSdS(NisOFSPsneusHELLOsok(sselfsismanage_addProductsmanage_addDTMLMethodsgetattrsmanage_edit(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pystestsslscstZdZdZdZdZdZdZeZ	dZ
$e	id%dZ'e	id(dZ
*e	id+dZ1e	id	2d
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.pysread%ssretselfcs()|SdS(N(sself(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysretself(ssallcs>+,d}-x!|iD-]}.||}qW/|SdS(Ns(sretsselfsfsg(sselfsgsret((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysall+s
	
	sprintOutfilecsE23x"3tii|io4q	W5t|iiSdS(N(sosspathsexistssselfsoutfilesopens	readlines(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysprintOutfile2s(s__name__s
__module__s__doc__spathsusersmonthsdatestimesClassSecurityInfossecuritys__init__s
declarePublicsreadsretselfsallsprintOutfile(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pyslss 					soverviewcs7tZ8gZ9hZ:eZ<dZCdZMdZ`ei	dadZ
iei	djdZRS(NcsT<=ti|}?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
	csCDt|d|d}FxT|iDF]C}H|dd!djo&I|dd!djoJ|Snnq-WKd	SdS(
Ns/sriisINFOiisresourceserror(sfilespathsfilenamesfs	readlinessline(sselfspathsfilenamesfsline((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetResourceCs	csMNOd}Qt|djoRx"|DR]}S||d}q0WTtid|}U|iddjo
Vd}n0W|iddjo
Xd	}n
Zd
}\||gSn^dd
gSdS(sparse for errorsis<br>s	(.*):(.*)isABORTserrorsDONEsoksrunningN(	sretstrslensstrslinesressearchschecksgroupserror(sselfsstrserrorslinesretstrscheck((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysparsearchiveMs	
	

	smessagescsabg|_cxa|iiDc]M}d|i|}f|iit||it	|di
gq"Wg|iSdS(Nsr(sselfsliness	resourcesskeyssnamespathsappendsErrorsparsearchivesopens	readlines(sselfspathsname((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysmessagesas	;s
printResourcecsjk|iSdS(N(sselfs	resources(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
printResourcejs(s__name__s
__module__sdirs	resourcessClassSecurityInfossecuritys__init__sgetResourcesparsearchives
declarePublicsmessagess
printResource(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysoverview7s			
csmot|SdS(N(soverviewspath(spath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetoverviewmscs2rst|ii}t|iiidSdS(Nsnext(slssselfsREQUESTsSESSIONstmpsRESPONSEsredirect(sselfstmp((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysls_testrscs!vw||iid<xdSdS(Ns	somethingi(s	somethingsselfsREQUESTsSESSION(sselfs	something((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	storeFilevscsz{|iidSdS(Ns	something(sselfsREQUESTsSESSION(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetFilezscs}~t||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.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((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysisScannedDocuments(s	localtimesstrftimecstdtSdS(Ns%d.%m.%Y(sstrftimes	localtime(sself((sA/usr/local/mpiwg/Zope/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((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys?s1



/V8(.9"#6

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