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

-í
Ÿþ?csdZdkTdkZdkZdkZdkZdklZdkl	Z		dk
lZ
dkl
Z
dklZdklZ
dkZdkZdkZdkZd	klZd
klZdkZde_dd
dddgZdee
e	fd„ƒYZFdee
e	fd„ƒYZëdee
e	fd„ƒYZ@dee
e	fd„ƒYZxd„Z d„Z!…d„Z"“dd„Z#™dd„Z$Ÿd„Z%¤d „Z&²d!„Z'Èd"„Z(Þd#„Z)õd$ee
e	fd%„ƒYZ*d&ee
e	fd'„ƒYZ+)d(ee
e	fd)„ƒYZ,Wd*„Z-Zd+„Z.ad,„Z/ed-„Z0md.„Z1ud/„Z2zd0„Z3d1„Z4ˆd2„Z5“d3„Z6½d4„Z7Âd5„Z8äd6„Z9ÿd7„Z:d8„Z; d9„Z<(d:ee
e	fd;„ƒYZ=Kd<ee
e	fd=„ƒYZ>d>„Z?†d?„Z@Šd@„ZAŽdA„ZB‘dB„ZC•dC„ZD§dDklEZElZ©dE„ZF®dF„ZG¹dG„ZHdS(HsS TO DO generell falls noch ein File, das nicht index.meta -> archivierung ausgeben (s*N(sClassSecurityInfo(sRoleManager(sImplicit(s
Persistent(sstrptime(sstrftime(sPageTemplateFile(sPageTemplates/var/tmp/archivers.HSResources
lost+foundsNetwork Trash FoldersTheFindByContentFoldersTheVolumeSettingsFoldersfsentrycstZdZdZdZdZdZdZeƒZ	 d„Z
)e	idƒ*d„Z.e	idƒ/d„Z
3e	idƒ4d„Z8e	idƒ9d	„Z=e	id
ƒ>d„ZAe	idƒBd
„ZRS(sFile entry classscsp !"tiitid|ƒidƒƒ}#||_$||_%d|_	&tii
|ƒ|_dS(sinitialize classs(.*)\nisN(sosspathsabspathsressearchsextpathsgroupsselfsallsusersgetmtimesmtime(sselfsextpath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys__init__ s*sgetPathcs*+,|iSdS(sAusgabe von pathN(sselfspath(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetPath*ssgetUsercs/01|iSdS(sAusgabe von userN(sselfsuser(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetUser/ssgetDatecs&456tdti|iƒƒSdS(sAusgabe von Dates
%Y%m%d%H%MN(sstrftimestimesgmtimesselfsmtime(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetDate4scs!9:;|iƒ|iƒSdS(s)Ausgabe einer eindeutigen Sortierbaren IDN(sselfsgetDatesgetPath(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetID9ssgetTimecs>?@|iSdS(sAusgabe von pathN(sselfstime(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetTime>ssgetAllcsBCD|iSdS(sAusgabe von pathN(sselfsall(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetAllBs(s__name__s
__module__s__doc__spathsusersmonthsdatestimesClassSecurityInfossecuritys__init__s
declarePublicsgetPathsgetUsersgetDatesgetIDsgetTimesgetAll(((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysfsentrys(						s
filesystemcsmFtZdZGHhZIhZJeƒZLd„ZTd„Zedd„Z	lei
dƒmd„Zpei
dƒqd„Ztei
d	ƒud
„Z
yei
dƒzd„Zd
„Zd„Z«ei
dƒ¬d„Z´ei
dƒµd„ZÇei
dƒÈd„ZÒei
dƒÓd„ZÚei
dƒÛd„ZRS(sstore filesystemcs=LMOtid|ddƒ}P|iƒ}R|SdS(sload filessystemsfind s -name '*' srN(sosspopensstartsfs	readlinesslines(sselfsstartslinessf((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetfsLscsTUVxó|i|ƒDV]ß}Xtid|ƒ}Y|tjo³Z|idƒ}[|idƒ}\|ii|ƒo4]|i|}^|i|ƒ_||i|<na|g|i|<b|dj|djBocd|i|<nnqWdS(sanalyse filesystems(.*/)(.*)\niis
index.metasmetas1N(sselfsgetfssstartslinesressearchsgsNonesgroupspathsfilesnodeshas_keyselementssappendshasindex(sselfsstartselementssfilesgspathsline((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysloadfsTs	icsCef|djo,gh|_hh|_i|i|ƒndS(Ni(sreloadsselfsnodeshasindexsloadfssstart(sselfsstartsreload((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys__init__essgetNodecsmn|iSdS(N(sselfsnode(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetNodemssgetKeyscsqr|iiƒSdS(N(sselfsnodeskeys(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetKeysqss	clearnodecsuvh|_wdSdS(Ni(sselfsnode(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys	clearnodeusshasIndexcsz||ii|ƒSdS(N(sselfshasindexshas_keyspath(sselfspath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pyshasIndexzscsþ€h}‚xÞ|iD‚]Ð}ƒ|ii|ƒo´„t|i|ƒdjo“…t|i|ƒdjd|i|j@o†|i|||<nJ‡t|i|ƒdjd|i|j@oˆnŠ|i|||<nnqW‹|SdS(s'return only files with archive materialiismetaN(sjsselfsnodeskshasindexshas_keyslen(sselfsjsk((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys
onlyIndex_olds	
	.. csþŽyÚ‘t|ddƒ}“|iƒ}•y—–tiii|ƒ}—t	|i
dƒdiƒdjo˜™dSnH›t	|i
dƒdiƒ}|djoŸ dSn¢£dSWn¤¥¦dSnXWn§¨©dSnXd	S(
s'parse indexmeta and return digilib paths/index.metasrscontent-typeisfoldersarchive-storage-datesiN(
sfilespathsfsreadslinessxmlsdomsminidomsparseStringsgetTextsgetElementsByTagNames
childNodessarchive_storage_date(sselfspathsdomsfslinessarchive_storage_date((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysarchive_the_paths*&s	onlyIndexcsg¬­®h}¯dGH°x?|iD°]1}±|i|ƒo²|i|||<nq$W³|SdS(sFreturn only files with archive material (archive-storage-date not set)sHIOIIN(sjsselfsnodesksarchive_the_path(sselfsjsk((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys	onlyIndex¬s	
	sgetImageDirscsѵ¶|idƒ}·g}¸x¢|D¸]—}¹t|idƒdiƒ}ºti	d|d|ƒ}»|tjo4¼y½|i
|idƒƒWn
¾¿nXnÁ|i
|ƒq(WÂ|SdS(Nsdirsnameis(.*)/mpiwg/online/(.*)s/i(sdomsgetElementsByTagNamesdirssdirbacksdirsgetTexts
childNodesstempsressearchspathstemp2sNonesappendsgroup(sselfsdomspathsdirsstempsdirbackstemp2sdir((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetImageDirsµs	
	sdigilibcs?ÈÉÊ|ii|dƒoË|i|ƒSnÍdSdS(s0check if folder is a container for digilib filess/sNON(sselfshasindexshas_keyspathsparseIndexMeta(sselfspath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysdigilibÈss	isdigilibcsEÓÔÕ|ii|dƒoÖt|i|ƒƒSnØdSdS(s?return number of possible image directories usefull for digilibs/iN(sselfshasindexshas_keyspathslensparseIndexMeta(sselfspath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys	isdigilibÓssparseIndexMetacsÅÛÜÝtid|ddƒ}Þ|iƒ}àyxátiii	|ƒ}ât
|idƒdiƒ}ã|djp
|djoä|i||ƒ}næ|SWnçègSnXdS(	s'parse indexmeta and return digilib pathscat s/index.metasrscontent-typeisscanned-documentsscanned documentN(sosspopensksfsreadslinessxmlsdomsminidomsparseStringsgetTextsgetElementsByTagNames
childNodesscontent_typesselfsgetImageDirssdirs(sselfsksdirsscontent_typesdomsfslines((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysparseIndexMetaÛs(s__name__s
__module__s__doc__snodeshasindexsClassSecurityInfossecuritysgetfssloadfss__init__s
declarePublicsgetNodesgetKeyss	clearnodeshasIndexs
onlyIndex_oldsarchive_the_paths	onlyIndexsgetImageDirssdigilibs	isdigilibsparseIndexMeta(((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys
filesystemFs6		
sfilesystem2csÉëtZdZìíhZîhZïeƒZñd„Zùd„Z
dd„Z	ei
dƒd„Z!ei
dƒ"d„Z)ei
d	ƒ*d
„Z
/ei
dƒ0d„ZRS(
sstore filesystemcs=ñòôtid|ddƒ}õ|iƒ}÷|SdS(sload filessystemsfind s -name '*' srN(sosspopensstartsfs	readlinesslines(sselfsstartslinessf((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetfsñscsùúûx
|i|ƒDû]ö}ýtid|ƒ}þ|tjoÊÿy(|idƒ}|idƒ}Wn
nX|ii|ƒo4|i|}|i|ƒ||i|<n	|g|i|<
|dj|djBod|i|<nnqWdS(sanalyse filesystems(.*/)(.*)\niis
index.metasmetas1N(sselfsgetfssstartslinesressearchsgsNonesgroupspathsfilesnodeshas_keyselementssappendshasindex(sselfsstartselementssfilesgspathsline((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysloadfsùs"	ics

dS(snothingN((sselfsstartsreload((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys__init__
ssgetImageDirscsÑ|idƒ}g}x¢|D]—}t|idƒdiƒ}ti	d|d|ƒ}|tjo4y|i
|idƒƒWn
nXn|i
|ƒq(W|SdS(Nsdirsnameis(.*)/mpiwg/online/(.*)s/i(sdomsgetElementsByTagNamesdirssdirbacksdirsgetTexts
childNodesstempsressearchspathstemp2sNonesappendsgroup(sselfsdomspathsdirsstempsdirbackstemp2sdir((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetImageDirss	
	sdigilibcs?"#$tii|dƒo%|i|ƒSn'dSdS(s0check if folder is a container for digilib filess/index.metasNON(sosspathsexistssselfsparseIndexMeta(sselfspath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysdigilib"ss	isdigilibcsB*+tii|dƒo,t|i|ƒƒSn.dSdS(Ns/index.metai(sosspathsexistsslensselfsparseIndexMeta(sselfspath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys	isdigilib*ssparseIndexMetacs¸012tid|ddƒ}3|iƒ}5yk6tiii	|ƒ}7t
|idƒdiƒ}8|djo9|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((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysparseIndexMeta0s(s__name__s
__module__s__doc__snodeshasindexsClassSecurityInfossecuritysgetfssloadfss__init__s
declarePublicsgetImageDirssdigilibs	isdigilibsparseIndexMeta(((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysfilesystem2ës		sbrowsecs±@tZBeƒZChZDhZFd„ZMd„ZQeidƒRd„Z	YeidƒZd„Z
]eidƒ^d„Zleid	ƒmd
„ZRS(NcsSFGg}Hx6|DH]+}I|tjoJ|i|ƒnqWK|SdS(N(sretsdirsitems	exclusionsappend(sselfsdirsitemsret((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysfilterExcludedFs	
	cs5MNh|_O|iti|ƒƒ|i|<dS(N(sselfstreesfilterExcludedsdircacheslistdirs	startpath(sselfs	startpath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys__init__MssgetTreecs_RS|ii|ƒoT|i|Sn1V|iti|ƒƒ|i|<W|i|SdS(N(sselfstreeshas_keyspathsfilterExcludedsdircacheslistdir(sselfspath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetTreeRs"sisDirectorycs.Z[tiitii|d|ƒƒSdS(Ns/(sosspathsisdirsabspathsfile(sselfspathsfile((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysisDirectoryZsstogglecs}^_|d|}a|ii|ƒo?b|i|djocd|i|<nfd|i|<nid|i|<dS(Ns/iii(stmppathsfilespathsselfs
toggledictshas_key(sselfstmppathsfilespath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pystoggle^ssisTogglecsGmn|d|}p|ii|ƒor|i|SnudSdS(Ns/i(stmppathsfilespathsselfs
toggledictshas_key(sselfstmppathsfilespath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysisTogglems(
s__name__s
__module__sClassSecurityInfossecuritystrees
toggledictsfilterExcludeds__init__s
declarePublicsgetTreesisDirectorystogglesisToggle(((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysbrowse@s			cs=xy{tid|ddƒ}||iƒ}}|SdS(sreturn filesystemsfind s
 -name '*'srN(sosspopensstartsfs	readlinesslines(sstartslinessf((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetfsxscs<€t|ƒ}x|D]}‚|GHqWƒdSdS(Ni(sgetfssstartslinessline(sstartslineslines((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysshowalls

	cs¾…†‡d}ˆg}‰t|ƒ}Šx†|DŠ]{}‹ybŒtiitii	t
id|ƒidƒƒƒo'|i
t|ƒƒŽ|d}nWn
nXq1W‘|SdS(s&retrun list of entries of a filesystemis(.*)\niN(sisfssgetfssstartslinesslinesosspathsexistssabspathsressearchsgroupsappendsfsentry(sstartsfssislineslines((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysentries…s		
	7ics#“”–t|dƒ}—|SdS(sload filesystemiN(s
filesystemsstartsk(sstartsreloadsk((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys
getfilesystem“scs#™šœt|dƒ}|SdS(sload filesystemiN(sfilesystem2sstartsk(sstartsreloadsk((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetfilesystem2™scs Ÿ ¡t|ƒ}¢|SdS(sget the filetreeN(sbrowsesstartsk(sstartsk((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pystreeŸscs±¤¥¦g}§h}¨x:|D¨]/}©|i|iƒƒª|||iƒ<q"W«|iƒ¬|iƒ­g}®x%|D®]}¯|i||ƒq…W°|SdS(ssorts lists of fileentriesN(
slssdictsfssksappendsgetIDssortsreversesretsj(sfssdictslssksjsret((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pyssort_by_date¤s		
	

	
	cs)²³´d}¶tii|ƒ}·d}¸|tii|ƒgg}ºxxºt|ƒdjo`¼|d}½|djo½Pn¿|i	|tii|ƒgƒÀtii|ƒ}qQWÂxOÂ|djo>Ã|d||dd||dd}Å|d}qÏWÆ|SdS(	s&generates navigation bar for showfilessiiis<a href=showfiles?path=s>s</a>/N(
sstringsosspathsdirnamestmppathsisbasenamespathesslensappend(spathstmppathspathessstringsi((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pyspath_to_link²s"		
"-cs)ÈÉÊd}Ìtii|ƒ}Íd}Î|tii|ƒgg}ÐxxÐt|ƒdjo`Ò|d}Ó|djoÓPnÕ|i	|tii|ƒgƒÖtii|ƒ}qQWØxOØ|djo>Ù|d||dd||dd}Û|d}qÏWÜ|SdS(	s&generates navigation bar for viewfilessiiis<a href=viewfiles?path=s>s</a>/N(
sstringsosspathsdirnamestmppathsisbasenamespathesslensappend(spathstmppathspathessstringsi((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pyspath_to_link_viewÈs"		
"-cs)Þßàd}âtii|ƒ}ãd}ä|tii|ƒgg}æxxæt|ƒdjo`è|d}é|djoéPnë|i	|tii|ƒgƒìtii|ƒ}qQWîxOî|djo>ï|d||dd||dd}ñ|d}qÏWò|SdS(	s&generates navigation bar for viewfilessiiis<a href=storefiles?path=s>s</a>/N(
sstringsosspathsdirnamestmppathsisbasenamespathesslensappend(spathstmppathspathessstringsi((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pyspath_to_link_storeÞs"		
"-sErrorcsHõtZ÷gZøeƒZùd„Züeidƒýd„ZRS(Ncsùú|d|_dS(Ni(s	initerrorsselfserror(sselfs	initerror((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys__init__ùssgetErrorcsýþ|iSdS(N(sselfserror(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetErrorýs(s__name__s
__module__serrorsClassSecurityInfossecuritys__init__s
declarePublicsgetError(((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysErrorõs
		s	metacheckcsTtZgZeƒZd„Zd„Z!eidƒ#d„ZRS(NcsÚd}t|ƒdjo£x"|D]}	||d}q0W
tid|ƒ}|idƒdjo
d}n0
|idƒdjo
d	}n
d
}||gSndd
gSdS(sparse for errorsis<br>s	(.*):(.*)isABORTserrorsDONEsoksrunningN(	sretstrslensstrslinesressearchschecksgroupserror(sselfsstrserrorslinesretstrscheck((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysparsearchives	
	

	csÕg|_t|ƒtjoKtid|dƒ}|iit	||i
|iƒƒgƒƒn_xX|D]M}tid|dƒ} |iit	||i
|iƒƒgƒƒq}WdS(sarchive the documents in paths$/usr/local/mpiwg/archive/metacheck  srN(
sselfslinesstypespaths
StringTypesosspopensfsappendsErrorsparsearchives	readliness
singlepath(sselfspaths
singlepathsf((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys__init__s2
	smessagescs#$|iSdS(N(sselfslines(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysmessages#s(	s__name__s
__module__slinessClassSecurityInfossecuritysparsearchives__init__s
declarePublicsmessages(((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys	metachecks		sarchivecsT)tZ*gZ+eƒZ,d„Z?d„ZNeidƒOd„ZRS(NcsÚ,-.d}0t|ƒdjo£1x"|D1]}2||d}q0W3tid|ƒ}4|idƒdjo
5d}n06|idƒdjo
7d	}n
9d
};||gSn=dd
gSdS(sparse for errorsis<br>s	(.*):(.*)isABORTserrorsDONEsoksrunningN(	sretstrslensstrslinesressearchschecksgroupserror(sselfsstrserrorslinesretstrscheck((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysparsearchive,s	
	

	csä?@Ag|_Bh|_C||d<Ft|ƒtjoFGtiƒ|i|<Ht	i
d|d|i|ddƒ}nZJxS|DJ]H}Ktiƒ|i|<Lt	i
d|d|i|ddƒ}q‘WdS(sarchive the documents in pathsarchivers"/usr/local/mpiwg/archive/archiver s > s &srN(
sselfsliness	filenamesssessionstypespaths
StringTypestempfilesmktempsosspopensfs
singlepath(sselfspathssessions
singlepathsf((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys__init__?s
0
	smessagescs{OPg|_QxX|iiƒDQ]D}S|iit||it|i|dƒi	ƒƒgƒƒq"WT|iSdS(Nsr(
sselfsliness	filenamesskeysspathsappendsErrorsparsearchivesopens	readlines(sselfspath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysmessagesOs
	B(	s__name__s
__module__slinessClassSecurityInfossecuritysparsearchives__init__s
declarePublicsmessages(((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysarchive)s		csWXt|ƒSdS(N(sevalsstr(sstr((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysevalextWscsCZ[|ii}\||d|<]||d|<_d|SdS(Nserror%ispath%iserror?number=%i(scontextsREQUESTsSESSIONssessionsretsispath(sretspathscontextsissession((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys
storeerrorZscs!ab|ii}c||SdS(N(scontextsREQUESTsSESSIONssessionsstr(sstrscontextssession((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgeterrorascsSegd}ht|dƒ}ix$|iƒDi]}j||}q.Wk|SdS(Nssr(sretsopenspathsfs	readlinessg(spathsgsretsf((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysreadfilees		csRmnt|dƒ}o|i|ƒp|iƒq|idƒ}r|ƒSdS(Nswsarchive2(	sopenspathsfswritestxtsclosesselfs
aq_acquiresrval(sselfspathstxtsREQUESTsrvalsf((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys	writefilems

cs1uvw|id|iid<xt|ƒSdS(s(check the metadata the documents in pathspathN(sselfsREQUESTsSESSIONs	metacheckspath(sselfspath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysmetacheckeruscs8z{|t||iiƒ}}|iiidƒSdS(sarchive the documents in pathsarchive4N(sarchivespathsselfsREQUESTsSESSIONstmpsRESPONSEsredirect(sselfspathstmp((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysarchiverzscsXd}‚x;|D‚]0}„|i|ijo…||i}nqW†|SdS(Ns(srcsnodelistsnodesnodeTypes	TEXT_NODEsdata(snodelistsnodesrc((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetTexts	
	cs~ˆ‰d}‹x]|D‹]R}|i|ijo6Ž|dt|iƒdt|iƒd}nqW‘|dSdS(Ns<table border='0'>s<tr><td valign='right'>s:</td><td> s
</td></tr>s</table>(	srcsnodelistsnodesnodeTypesELEMENT_NODEsstrsnodeNamesgetTexts
childNodes(snodelistsnodesrc((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetBibˆs	
	7cs_“”•g}–tii|dƒo˜dSn'štid|ddƒ}›|iƒ}œti	i
i|ƒ}t|i
dƒdiƒ}žt|i
dƒdiƒ}Ÿt|i
dƒdiƒ} t|i
d	ƒdiƒ}
¡y#¢t|i
d
ƒdiƒ}Wn£¤d}nX¥|djo¦d
|d}n7§|djo¨d|d}nªd
|d}¬|d|d|d}­|d|
d}®yƒ¯|i
dƒdi
dƒd}	°|	iidƒo#±|d|	idid}n³|d}´|t|	iƒ}Wn
¶·nX»|SdS(sget index.metas/index.metasNO_METADATAscat srsnameiscreatorsarchive-creation-datesdescriptionscontent-typessscanned documents<h3>Document: s</h3>sfolders<h3>Folder: s<p><i>created by: s at: s</i></p>s<h4>Description</h4><p>s</p>smetasbibstypes
<h4>Info (s)</h4>s
<h4>Info</h4>N(shtmlsosspathsexistsspopensfsreadslinessxmlsdomsminidomsparseStringsgetTextsgetElementsByTagNames
childNodessnamescreators
creation_datesdescriptionstypesbibs
attributesshas_keysvaluesgetBib(spathsfsnamescreatorstypesdomsliness
creation_dateshtmlsbibsdescription((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetMetafile“s>	#
##
cs!½¾¿tii|dƒSdS(sget index.metas/index.metaN(sosspathsexists(spath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pyshasMetafile½sc	sˆÂÃÄygÅti|ƒ}Çddddddddd	g	}Èd
}ÉxE|DÉ]:}Ëtii|ƒ}Í|d|joÎdSnqUWÐyÂÑt	i
iitii
|ƒdd
ƒ}Òx…|idƒDÒ]q}Ôt|idƒdiƒdjoEÖt|idƒdiƒtii
|ƒdjo×dSnnqÛWØdSWnÙÛdSnXWnáâd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((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys
isdigilib2Âs,$	
	,	&6csæäåçy ètiii|dƒ}WnéêëdSnXìx•|idƒDì]}îyhït|idƒdiƒ}ñ|djo5ót|idƒdiƒ|joôdSnnWn
õönXqSWûdSdS(	s(check if foldername in path is full texts/index.metaisdirscontent-typesfulltextsnameiN(sxmlsdomsminidomsparsespathsgetElementsByTagNamesnodesgetTexts
childNodesschildsfolder_name(spathsfolder_namesnodeschildsdom((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys
isFullTextäs  	&csÚÿy¹tiii|dƒ}xŒ|idƒD]x}y_t|idƒdiƒdjo5t|idƒdiƒ|jo	dSnnWn

nXq;WdSWn
dSnXdS(	s(check if foldername in path is full texts/index.metasdirscontent-typeispresentationsnameiN(
sxmlsdomsminidomsparsespathsgetElementsByTagNamesdirnodesgetTexts
childNodessfolder_name(spathsfolder_namesdomsdirnode((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysisPresentationÿs	&&cs{y]tid|ƒ}|tjo$dtid|ƒidƒSn|idƒSWndSnXdS(Ns(.*)/mpiwg/online/(.*)s
digifiles/s%(.*)/mpiwg/production/docuserver/(.*)isNO(sressearchspathstemp2sNonesgroup(spathstemp2((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys
changeNames$csP !d|_#|ididdƒ$|idƒiddƒ%dSdS(NisOFSPsneusHELLOsok(sselfsismanage_addProductsmanage_addDTMLMethodsgetattrsmanage_edit(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pystest sslscsÉ(tZdZ)*dZ+dZ,dZ-dZ.dZ0eƒZ	2d„Z
8e	idƒ9d„Z;e	idƒ<d„Z
>e	idƒ?d„ZEe	id	ƒFd
„ZRS(sFile entry classscsD23tiƒ|_4||d<5tid|iddƒdS(Nsoutfiles	ls -R / >s &sr(stempfilesmktempsselfsoutfilesstartsosspopen(sselfsstart((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys__init__2s
sreadcs9:|iiƒSdS(N(sselfsfsread(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysread9ssretselfcs<=|SdS(N(sself(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysretself<ssallcs>?@d}Ax!|iDA]}B||}qWC|SdS(Ns(sretsselfsfsg(sselfsgsret((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysall?s
	
	sprintOutfilecsEFGx"Gtii|iƒoHq	WIt|iƒiƒSdS(N(sosspathsexistssselfsoutfilesopens	readlines(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysprintOutfileFs(s__name__s
__module__s__doc__spathsusersmonthsdatestimesClassSecurityInfossecuritys__init__s
declarePublicsreadsretselfsallsprintOutfile(((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysls(s 					soverviewcs…KtZLgZMhZNeƒZPd„ZWd„Zad„Ztei	dƒud„Z
}ei	dƒ~d„ZRS(NcsTPQti|ƒ}Sx5|DS]*}T|d||i|i||ƒ<qWdS(Ns/(sosslistdirspathsdirsfilesselfs	resourcessgetResource(sselfspathsfilesdir((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys__init__Ps
	cs‚WXt|d|dƒ}ZxT|iƒDZ]C}\|dd!djo&]|dd!djo^|Snnq-W_d	SdS(
Ns/sriisINFOiisresourceserror(sfilespathsfilenamesfs	readlinessline(sselfspathsfilenamesfsline((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetResourceWs	csÚabcd}et|ƒdjo£fx"|Df]}g||d}q0Whtid|ƒ}i|idƒdjo
jd}n0k|idƒdjo
ld	}n
nd
}p||gSnrdd
gSdS(sparse for errorsis<br>s	(.*):(.*)isABORTserrorsDONEsoksrunningN(	sretstrslensstrslinesressearchschecksgroupserror(sselfsstrserrorslinesretstrscheck((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysparsearchiveas	
	

	smessagescs„uvg|_wxa|iiƒDw]M}x|i|}z|iit||it	|dƒi
ƒƒgƒƒq"W{|iSdS(Nsr(sselfsliness	resourcesskeyssnamespathsappendsErrorsparsearchivesopens	readlines(sselfspathsname((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysmessagesus	;s
printResourcecs~|iSdS(N(sselfs	resources(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys
printResource~s(s__name__s
__module__sdirs	resourcessClassSecurityInfossecuritys__init__sgetResourcesparsearchives
declarePublicsmessagess
printResource(((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysoverviewKs			
csƒt|ƒSdS(N(soverviewspath(spath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetoverviewscs2†‡t|iiƒ}ˆ|iiidƒSdS(Nsnext(slssselfsREQUESTsSESSIONstmpsRESPONSEsredirect(sselfstmp((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysls_test†scs!Š‹||iid<ŒdSdS(Ns	somethingi(s	somethingsselfsREQUESTsSESSION(sselfs	something((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys	storeFileŠscsŽ|iidSdS(Ns	something(sselfsREQUESTsSESSION(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysgetFileŽscs‘’“t||ƒSdS(shreturns TRUE, wenn path ein Folder ist in den weitere Objekte Folder oder Dokumente gelegt werden dürfenN(sisScannedDocumentsselfspath(sselfspath((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysisFolder‘scsË•–—yª˜t|ddƒ}™|iƒ}›yjœtiii|ƒ}t	|i
dƒdiƒ}ž|djp
|djoŸdSn¡dSWn¢£dSnXWn¤¥dSnXdS(	sFreturns TRUE, wenn path der Stammordner eines gescannten Documents ists/index.metasrscontent-typeisscanned-documentsscanned documentiN(
sfilespathsfsreadslinessxmlsdomsminidomsparseStringsgetTextsgetElementsByTagNames
childNodesscontent_type(sselfspathscontent_typesdomsfslines((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysisScannedDocument•s(s	localtimesstrftimecs©ªtdtƒƒSdS(Ns%d.%m.%Y(sstrftimes	localtime(sself((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pysdate©scs—®¯y/°tiii|dƒ}±|iƒ}Wn²³d}nX´||ii	d<µ||ii	d<¶t
dƒi|ƒ}·|ƒSdS(Ns/index.metass	indexmetaspaths*/usr/local/mpiwg/Zope/Extensions/editindex(
sxmlsdomsminidomsparsespathstoxmls	indexmetasselfsREQUESTsSESSIONsPageTemplateFiles__of__snewtemplate(sselfspathsdomsnewtemplates	indexmeta((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys	EditIndex®s
cs¬¹º|iidƒo¼|id}n'¿|idi|_Â|id}Ät|iidddƒ}Å|i	|ƒÆ|ii
id|iidƒSdS(Ns
fileuploads	indexmetaspaths/index.metaswsstorage/storefiles?path=(sselfsREQUESTshas_keysnewtextsfilenames	file_namesfilesSESSIONs	indexmetas
writelinessresponsesredirect(sselfsnewtexts	indexmeta((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys
EditIndex2¹s (Is__doc__stypessurllibsosssyssres
AccessControlsClassSecurityInfosAccessControl.RolesRoleManagersAcquisitionsImplicitsGlobalss
Persistentstimesstrptimesstrftimesos.pathsdircachesxml.dom.minidomsxmls'Products.PageTemplates.PageTemplateFilesPageTemplateFiles#Products.PageTemplates.PageTemplatesPageTemplatestempfilestempdirs	exclusionsfsentrys
filesystemsfilesystem2sbrowsesgetfssshowallsentriess
getfilesystemsgetfilesystem2streessort_by_datespath_to_linkspath_to_link_viewspath_to_link_storesErrors	metachecksarchivesevalexts
storeerrorsgeterrorsreadfiles	writefilesmetacheckersarchiversgetTextsgetBibsgetMetafileshasMetafiles
isdigilib2s
isFullTextsisPresentations
changeNamestestslssoverviewsgetoverviewsls_tests	storeFilesgetFilesisFoldersisScannedDocuments	localtimesdates	EditIndexs
EditIndex2(>shasMetafilesgetfssoverviewsshowalls
getfilesystemslssfilesystem2sisScannedDocumentsPageTemplatesarchivesxmlsgetoverviews	exclusionsrestempfilesstrptimesurllibssort_by_datesevalextsfsentrysgetTextsarchiversPageTemplateFilestests	storeFiles
isdigilib2sImplicitsmetacheckers	metachecksgeterrors
EditIndex2sreadfilespath_to_linksClassSecurityInfos
storeerrors
Persistentssyss	writefilesRoleManagersErrorsdates	EditIndexs
isFullTextsgetMetafilesls_tests
filesystemsbrowses	localtimespath_to_link_viewstreesgetBibsdircachespath_to_link_stores
changeNamesisPresentationstimesgetFilesentriessisFoldersossstrftimesgetfilesystem2((sE/usr/local/mpiwg/Zope_devel/lib/python/Products/OSA_system/archive.pys?s‚
/¥U8).	*"#6

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