File:  [Repository] / OSAS / OSA_system / Attic / OSAS_show.pyc
Revision 1.10: download - view: text, annotated - select for diffs - revision graph
Wed Jan 7 15:29:01 2004 UTC (20 years, 5 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
bug fixed in archive

-
ȓ?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+-d"eeefd#YZ,ed$Z-kd%Z.qd&Z/d'd(Z0d)Z1d*Z2d+Z3d,Z4d-eeefd.YZ5d/eeefd0YZ6d1eeefd2YZ79d3Z8<d4Z9Cd5Z:Gd6Z;Od7Z<Wd8Z=\d9Z>ad:Z?id;Z@td<ZAd=ZBd>ZCd?ZDd@ZEdAZFdBZG
dCeeefdDYZH0dEeeefdFYZIfdGZJkdHZKodIZLsdJZMvdKZNzdLZOdMklPZPl!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 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((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(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__sClassSecurityInfossecuritys__init__s	meta_typesdeclareProtecteds
index_htmlsreadContextss
rescaleThumbssgetfilesystem2streespath_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_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 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((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,-.|iSdS(sAusgabe von pathN(sselfstime(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetTime,ssgetAllcs012|iSdS(sAusgabe von pathN(sselfsall(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetAll0s(s__name__s
__module__s__doc__spathsusersmonthsdatestimesClassSecurityInfossecuritys__init__s
declarePublicsgetPathsgetUsersgetDatesgetIDsgetTimesgetAll(((sA/usr/local/mpiwg/Zope/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((sA/usr/local/mpiwg/Zope/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((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysloadfsAs	icsCRS|djo,Th|_Uh|_V|i|ndS(Ni(sreloadsselfsnodeshasindexsloadfssstart(sselfsstartsreload((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__RssgetNodecsZ[|iSdS(N(sselfsnode(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetNodeZssgetKeyscs^_|iiSdS(N(sselfsnodeskeys(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetKeys^ss	clearnodecsbch|_ddSdS(Ni(sselfsnode(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	clearnodebsshasIndexcsgi|ii|SdS(N(sselfshasindexshas_keyspath(sselfspath((sA/usr/local/mpiwg/Zope/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((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
onlyIndex_oldls	
	.. csz{|y~t|dd}|i}ytiii|}t	|i
ddidjodSnHt	|i
ddi}|djodSndSWndSnXWndSnXd	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_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((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
filesystem4s6		
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	isdigilibssparseIndexMetacstid|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.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		sbrowsecs-tZ/eZ0hZ1hZ3dZ:dZ>eid?dZ	FeidGdZ
JeidKdZYeid	Zd
ZRS(NcsS34g}5x6|D5]+}6|tjo7|i|nqW8|SdS(N(sretsdirsitems	exclusionsappend(sselfsdirsitemsret((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysfilterExcluded3s	
	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|oA|i|Sn1C|iti||i|<D|i|SdS(N(sselfstreeshas_keyspathsfilterExcludedsdircacheslistdir(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetTree?s"sisDirectorycs.GHtiitii|d|SdS(Ns/(sosspathsisdirsabspathsfile(sselfspathsfile((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysisDirectoryGsstogglecs}KL|d|}N|ii|o?O|i|djoPd|i|<nSd|i|<nVd|i|<dS(Ns/iii(stmppathsfilespathsselfs
toggledictshas_key(sselfstmppathsfilespath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pystoggleKssisTogglecsGZ[|d|}]|ii|o_|i|SnbdSdS(Ns/i(stmppathsfilespathsselfs
toggledictshas_key(sselfstmppathsfilespath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysisToggleZs(
s__name__s
__module__sClassSecurityInfossecuritystrees
toggledictsfilterExcludeds__init__s
declarePublicsgetTreesisDirectorystogglesisToggle(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysbrowse-s			cs=efgtid|dd}h|i}i|SdS(sreturn filesystemsfind s
 -name '*'srN(sosspopensstartsfs	readlinesslines(sstartslinessf((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetfsescs<klt|}mx|Dm]}n|GHqWodSdS(Ni(sgetfssstartslinessline(sstartslineslines((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysshowallks

	csqrsd}tg}ut|}vx|Dv]{}wybxtiitii	t
id|ido'y|i
t|z|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.pysentriesqs		
	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	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		sarchivecsTtZgZ
eZdZ!dZ0eid1dZRS(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	
	

	cs!"#g|_$h|_%||d<(t|tjoF)ti|i|<*t	i
d|d|i|dd}nZ,xS|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{12g|_3xX|iiD3]D}5|iit||it|i|di	gq"W6|iSdS(Nsr(
sselfsliness	filenamesskeysspathsappendsErrorsparsearchivesopens	readlines(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysmessages1s
	B(	s__name__s
__module__slinessClassSecurityInfossecuritysparsearchives__init__s
declarePublicsmessages(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysarchives		cs9:t|SdS(N(sevalsstr(sstr((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysevalext9scsC<=|ii}>||d|<?||d|<Ad|SdS(Nserror%ispath%iserror?number=%i(scontextsREQUESTsSESSIONssessionsretsispath(sretspathscontextsissession((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
storeerror<scs!CD|ii}E||SdS(N(scontextsREQUESTsSESSIONssessionsstr(sstrscontextssession((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgeterrorCscsSGId}Jt|d}Kx$|iDK]}L||}q.WM|SdS(Nssr(sretsopenspathsfs	readlinessg(spathsgsretsf((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysreadfileGs		csROPt|d}Q|i|R|iS|id}T|SdS(Nswsarchive2(	sopenspathsfswritestxtsclosesselfs
aq_acquiresrval(sselfspathstxtsREQUESTsrvalsf((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	writefileOs

cs1WXY|id|iid<Zt|SdS(s(check the metadata the documents in pathspathN(sselfsREQUESTsSESSIONs	metacheckspath(sselfspath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysmetacheckerWscs8\]^t||ii}_|iiidSdS(sarchive the documents in pathsarchive4N(sarchivespathsselfsREQUESTsSESSIONstmpsRESPONSEsredirect(sselfspathstmp((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysarchiver\scsXacd}dx;|Dd]0}e|i|ijof||i}nqWg|SdS(Ns(srcsnodelistsnodesnodeTypes	TEXT_NODEsdata(snodelistsnodesrc((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetTextas	
	cs~ijd}lx]|Dl]R}n|i|ijo6op|dt|idt|id}nqWr|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.pysgetBibis	
	7cstuvg}wtii|doydSn{tid|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((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetMetafiletsV	#
#
#
#
#
##
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	|ididd
dSdS(NisOFSPsneusHELLOsok(sselfsismanage_addProductsmanage_addDTMLMethodsgetattrsmanage_edit(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pystestsslscs
tZdZdZdZdZdZdZeZ	dZ
e	iddZ e	id!dZ
#e	id$dZ*e	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.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printOutfilecsE+,x",tii|io-q	W.t|iiSdS(N(sosspathsexistssselfsoutfilesopens	readlines(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysprintOutfile+s(s__name__s
__module__s__doc__spathsusersmonthsdatestimesClassSecurityInfossecuritys__init__s
declarePublicsreadsretselfsallsprintOutfile(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysls
s 					soverviewcs0tZ1gZ2hZ3eZ5dZ<dZFdZYei	dZdZ
bei	dcdZRS(NcsT56ti|}8x5|D8]*}9|d||i|i||<qWdS(Ns/(sosslistdirspathsdirsfilesselfs	resourcessgetResource(sselfspathsfilesdir((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys__init__5s
	cs<=t|d|d}?xT|iD?]C}A|dd!djo&B|dd!djoC|Snnq-WDd	SdS(
Ns/sriisINFOiisresourceserror(sfilespathsfilenamesfs	readlinessline(sselfspathsfilenamesfsline((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetResource<s	csFGHd}Jt|djoKx"|DK]}L||d}q0WMtid|}N|iddjo
Od}n0P|iddjo
Qd	}n
Sd
}U||gSnWdd
gSdS(sparse for errorsis<br>s	(.*):(.*)isABORTserrorsDONEsoksrunningN(	sretstrslensstrslinesressearchschecksgroupserror(sselfsstrserrorslinesretstrscheck((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysparsearchiveFs	
	

	smessagescsZ[g|_\xa|iiD\]M}]|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.pysmessagesZs	;s
printResourcecscd|iSdS(N(sselfs	resources(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys
printResourcecs(s__name__s
__module__sdirs	resourcessClassSecurityInfossecuritys__init__sgetResourcesparsearchives
declarePublicsmessagess
printResource(((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysoverview0s			
csfht|SdS(N(soverviewspath(spath((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetoverviewfscs2klt|ii}m|iiidSdS(Nsnext(slssselfsREQUESTsSESSIONstmpsRESPONSEsredirect(sselfstmp((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysls_testkscs!op||iid<qdSdS(Ns	somethingi(s	somethingsselfsREQUESTsSESSION(sselfs	something((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pys	storeFileoscsst|iidSdS(Ns	something(sselfsREQUESTsSESSION(sself((sA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_show.pysgetFilesscsvwxt||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.pysisFoldervscsz{|y}t|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.pysisScannedDocumentzs(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



/U8(.9"#6

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