File:  [Repository] / OSAS / OSA_system / Attic / OSAS_add.pyc
Revision 1.11: 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

-í
ç‹@cs™dZdkZdkZdklZdklZ	dkZ
dkZdk	Z
dkZdd„Z#d„Z
2d„ZEd„Z^d	„Zld
„Zyd„Z~d„Z©d
klZlZ«d„Z¯d„ZÔd„Zôd„Zûd„Zd„Z_d„Zhd„Zpd„Zwd„Z ‡d„Z!£d„Z"·d„Z#ßd„Z$dS(s1Methoden zum hinzufügen von Dokumenten ins ArchivN(sPageTemplateFile(sPageTemplateics¹dddg|_tdƒi|ƒ}|id|iid<|djod|iid<n.|iiidƒo|iid=n|ƒS|iSd	S(
sx Add metadata or metadata and documents to the repository
        no_upload=0 kein upload sonst upload von documententensBooksJournal Articles
Manuscripts Products/OSA_system/OSAS_add_newspathisyess	no_uploadN(	sselfsreferencetypessPageTemplateFiles__of__snewtemplatesREQUESTsSESSIONs	no_uploadshas_key(sselfs	no_uploadsnewtemplate((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysadds
csÏ#$y¨%tddƒiƒ}'h}(xp|D(]e})|iddƒ}*ti|dƒdiddƒ}+ti|dƒdiddƒ}q4W-|||<Wn./h}nX0|SdS(NsA/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/iso639-1.incsrsasciisreplaces	ii(sfiles	readlinessfsretslinerawsencodeslinesstringssplitsvalueskey(skeysretsfslineslinerawsvalue((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysgetISO#s	
	%)
csû23|id|_4|i|iid<5hddddddd	d
ddd
ddg
d<dddddddddg	d<dddddddddg	d<|_9|i|i|_:tƒ|_@tdƒi	|ƒ}A|ƒSdS(NsReference Typesreftypesauthorsyearstitles
series editorsseries titles
series volumesnumber of pagesscitys	publisherseditionsnumber of volumess
translators	ISBN ISSNsBooksjournalsvolumesissuespagessalternate journalscall numbersJournal Articleslocations	signatureseditorial remarkssdescriptionskeywordss
Manuscripts$Products/OSA_system/OSAS_add_bibdata(sselfsREQUESTsreftypesSESSIONsbibdatasfieldssgetISOsisolistsPageTemplateFiles__of__snewtemplate(sselfsnewtemplate((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysadd22s„cs.EFh}Gd}Hd}Id}Jd}Kti|ƒ}LxÎ|DL]Ã}M|djoN|}Od}Pd}nQ|djo#R|||<Sd}Td}n\V|djo!W|djo
Wd}nnY|djo
Yd}nZ||}qLW[|||<\|SdS(	Nsskeys=svalues&s+s-s (	squeriesskeysvaluestmpstogglesurllibsunquotesstrsi(sstrstmpstoggleskeysqueriessisvalue((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysparse_query_stringEs0					
			

	


csá^_`t|idƒ}a||iid<b|dd d|dd d|d}c|idd	ƒ|_d|iiid
ƒo.e|iid|iid<ft|ƒSn#ht	d
ƒi
|ƒ}i|ƒSdS(s
FoldernamesQUERY_STRINGsmetadatasauthoris_stitlesyearsasciisignores	no_uploadspathsfolder_names#Products/OSA_system/OSAS_add_namingN(sparse_query_stringsselfsREQUESTsmetadatasSESSIONsvorschlag_namingsdecodeshas_keysadd5sPageTemplateFiles__of__snewtemplate(sselfsnewtemplatesvorschlag_namingsmetadata((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysadd3^s-csµlmtid|iidƒidƒ|_o|id|_q|iidd|id|iid<t|i|iid<ud|_vt	dƒi
|ƒ}w|ƒSdS(Ns
/mpiwg(.*)spathisfolder_names/spageimgsProducts/OSA_system/OSAS_upload(sressearchsselfsREQUESTsSESSIONsgroupspathsfolder_namesimage_folder_namesPageTemplateFiles__of__snewtemplate(sselfsnewtemplate((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysadd4ls+,cs,yz{tdƒi|ƒ}||ƒSdS(sADD INDEX.METAs%Products/OSA_system/OSAS_add_metadataN(sPageTemplateFiles__of__sselfsnewtemplate(sselfsnewtemplate((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysadd5yscs¥~t|idƒ}€tii|iidƒd|d<‚tii|iidƒd|d<ƒd|d<„|iid	|_…||iid
<†||_	‡|iid|_ˆd|_
‰xL|iiƒD‰]8}Š|i
d
|d|i|d|d|_
qÞWŒt
dƒi|ƒ}d|_Ž|ƒ}|iiidƒo|iidd}n$’|i	dd|i	dd}”t|dƒ}•|i|ƒ–|iƒ—ti|dƒ˜|iiidƒo3›|iii|idd|iidƒSnpžtid|i	dƒidƒ|_Ÿt
dƒi|ƒ}¢d|_£|iii ddƒ¦|ƒSdS(NsQUERY_STRINGspathisarchive-pathisfolder_namesscanned documentscontent-typesreftypesadd_metadatasmetadatass<s>s</s>
sProducts/OSA_system/index_metas
text/plains	no_uploads/index.metas/swi¤sURL2s?path=s/mpiwg/online/(.*)sProducts/OSA_system/OSAS_saveds	text/htmlsContent-Type(!sparse_query_stringsselfsREQUESTsmetadatasosspathssplitsSESSIONsreftypesadd_metadatas
metadataprintskeysstagsPageTemplateFiles__of__snewtemplatescontent_types	renderxmlshas_keysmetapathsopensfs
writelinesscloseschmodsresponsesredirectsressearchsgroupsviewpathsnewtemplate2s	setHeader(sselfsfsmetapathsnewtemplate2s	renderxmlstagsnewtemplatesmetadata((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysadd6~s:''
	6#
3((s	localtimesstrftimecs«¬tdtƒƒSdS(Ns%d.%m.%Y(sstrftimes	localtime(sself((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysdate«scs¯°²tiii|dƒ}µy&¶ti|idƒdiƒ}Wnb·¸y&¹ti|idƒdiƒ}Wn,º»ti|idƒdiƒ}nXnX½ti|idƒdiƒ}¾y&¿ti|idƒdiƒ}WnbÀÁy&Âti|idƒdiƒ}Wn,ÃÄti|id	ƒdiƒ}nXnXÅd
}Æx,Æt
iid|ƒoÇ|d
7}qoWÈd||iid<É||iid
<Êd|||f|iid<Ñtdƒi|ƒ}Ò|ƒSdS(sadd presentation to the paths/index.metasauthorisAuthorsEditorstitlesyearsYearsdateis%02d-presentationspresentationnamespaths_<info>
	<author>%s</author>
	<title>%s</title>
	<date>%s</date>
	<display>yes</display>
</info>sxmlvorschlags#Products/OSA_system/addPresentationN(sxmlsdomsminidomsparsespathsarchivesgetTextsgetElementsByTagNames
childNodessauthorstitlesdatesisossexistssselfsREQUESTsSESSIONsPageTemplateFiles__of__snewtemplate(sselfspathstitlesisauthorsdomsdatesnewtemplate((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysaddPresentation¯s4&&*"&&*	 csÔÕÖ|id}Ø|id}Ú|iid}Ü|iidƒoÝ|id}Þd}nFá|idi	}â|ii
diƒ}äd}å|id}æyçti
|d|ƒWn
èénXët|d|d|dƒ}ì|i|ƒí|iƒîti|d|d	ƒïti|d|d|d
ƒðt|||dƒò|iii|idd
|ƒSdS(sadd presentation sfolder_namescontent_descriptionspaths
fileuploadsxmltextsinfo.xmls/swiíi¤spresentationsURL2s?path=N(sselfsREQUESTsfolder_namescontent_descriptionsSESSIONspathshas_keysxmlinfos	file_namesfilenamesformsreadsossmkdirsopensfswritescloseschmodsaddDirsToIndexMetasRESPONSEsredirect(sselfscontent_descriptionsfolder_names	file_namespathsfsxmlinfo((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysaddPresentation2Ôs,
	"
#csUôõödg|iid<÷||iid<øtdƒi|ƒ}ù|ƒSdS(sadd fulltext to the pathspageimgsexisting_namesspathsProducts/OSA_system/addTextN(sselfsREQUESTsSESSIONspathsPageTemplateFiles__of__snewtemplate(sselfspathsnewtemplate((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysaddTextôs
cs6ûü|id}þ|id}ÿ|iid}|idi}|iidi	ƒ}ti|d|ƒt
|d|d|dƒ}|i|ƒ|iƒti|d|dƒti|d|d|dƒt|||d	ƒ
|iii|id
d|ƒSdS(Nsfolder_namescontent_descriptionspaths
fileuploads/swiíi¤sfulltextsURL2s?path=(sselfsREQUESTsfolder_namescontent_descriptionsSESSIONspathsfilenames	file_namesformsreadsfiledatasossmkdirsopensfswritescloseschmodsaddDirsToIndexMetasRESPONSEsredirect(sselfscontent_descriptionsfolder_names	file_namespathsfiledatasf((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysaddText2ûs"
#cs:
yIti|ƒiƒ}d}x|D]}||}q7WWnd|SnXt|ƒod|d|fSnt|ƒ}ti|dƒ}|t|ƒd}y&t|d|d|dƒ}
Wn%d|d|d|SnX|
i|ƒ|
iƒ ti|d|d|dƒ#tiii|d	ƒ}$|id
ƒd}&|idƒ}(|id
ƒ}
)|i|ƒ}*|
i!|ƒ+|i!|
ƒ-|idƒ}	.|id|ƒ}/|	i!|ƒ0|i!|	ƒ2|idƒ}3|idƒ}4|i!|ƒ5|i!|ƒ7|i!|ƒ9t|d	dƒ}
:|
i|i'ƒi(dƒƒ;|
iƒ>tiii|d	ƒ}?|idƒd}AyB|idƒd}WnCDdSnXGyTH|idƒ}Jt|ƒdjo'K|i*|dƒ}L|i,ƒnWn
MNnXP|idƒ}Q|i|d|ƒ}R|i!|ƒS|i!|ƒVt|d	dƒ}
W|
i|i'ƒi(dƒƒX|
iƒ[tid|ƒiƒSdS(s hinzufügen eines externen textesssERROR: cannot read: %ss	received:s/iswsERROR: cannot write: %si¤s/index.metasresourceisdirsnamesdescriptionsarchimedes text:scontent-typesfulltextsutf-8smetastexttoolsBERROR:no presentation configured yet, user Web Front End to do so!stextsFhttp://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%sN(/surllibsurlopenstexturls	readlinesstexttempstextslinesTextExternalErrorsgetNewTextPathspathstextpathsstringssplitssplittedslensnamesfiles	writefileswritesclosesosschmodsxmlsdomsminidomsparsesgetElementsByTagNamesnodes
createElementssubnodesnamenodescreateTextNodesnamenodetextsappendChildsdescriptionnodesversionsdescriptionnodetextscontentnodescontentnodetextstoxmlsencodestexttoolnodelistsremoveChilds
subsubnodesunlinkstextfoldernodestextfoldernodetext(sselfspathstexturlsversionsnodesdescriptionnodetextstextscontentnodestexttoolnodelistsdescriptionnodes	writefilestexttemps
subsubnodesnamenodeslinessubnodestextfoldernodetextstextfoldernodesnamestextpathsdomscontentnodetextssplittedsnamenodetext((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysaddTextExternalsz	
	&
#

csN_`|dd!}byctid|ƒ}WndedSnXfdSdS(Nii
s	.*<?xml.*i(stextsfirstssressearchsmatch(stextsfirstssmatch((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysTextExternalError_scs„hid}jx0jtii|d|ƒok|d7}qWlti|d|ƒmti|d|dƒnd|SdS(Nis/fulltext%iiís
fulltext%i(sisosspathsexistssmkdirschmod(spathsi((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysgetNewTextPathhs	csUpqrdg|iid<s||iid<ttdƒi|ƒ}u|ƒSdS(sImagesfolder to the pathspageimgsexisting_namesspaths"Products/OSA_system/OSAS_addImagesN(sselfsREQUESTsSESSIONspathsPageTemplateFiles__of__snewtemplate(sselfspathsnewtemplate((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pys	addImagesps
cs¶wy|id|_{|id|_d|_€t|iid|i|i|iƒtid|iidƒi	dƒ|iid<‚t
dƒi|ƒ}ƒ|ƒSdS(Nsfolder_namescontent_descriptionsimagesspaths
/mpiwg(.*)is Products/OSA_system/OSAS_upload2(
sselfsREQUESTsimage_folder_namescontent_descriptionscontent_typesaddDirsToIndexMetasSESSIONsressearchsgroupsPageTemplateFiles__of__snewtemplate(sselfsnewtemplate((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pys
addImages2ws)2csi‡‰tiii|dƒ}Š|idƒd}Œ|idƒ}
Ž|idƒ}|i
|ƒ}|i
|ƒ‘|
i
|ƒ“|idƒ}	”|i
|ƒ}•|	i
|ƒ–|
i
|	ƒ˜|idƒ}™|i
|ƒ}
š|i
|
ƒ›|
i
|ƒ|i
|
ƒŸt|ddƒ} |i|iƒid	ƒƒ¡|iƒdS(
Ns/index.metasresourceisdirsnamesdescriptionscontent-typeswsutf-8(sxmlsdomsminidomsparsespathsgetElementsByTagNamesnodes
createElementssubnodesnamenodescreateTextNodesfolder_namesnamenodetextsappendChildsdescriptionnodescontent_descriptionsdescriptionnodetextscontentnodescontent_typescontentnodetextsfiles	writefileswritestoxmlsencodesclose(spathsfolder_namescontent_descriptionscontent_typesnodesdescriptionnodetextsdomsnamenodetextscontentnodesdescriptionnodescontentnodetexts	writefilesnamenodessubnode((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysaddDirsToIndexMeta‡s&csÍ£¤¥tidƒiƒ}§tiii|ƒ}¨|idƒ}©h}«xI|D«]>}­y%®|idi
||idi
<Wn
°±nXq[W³|i|ƒo´||Sn¶dSdS(sgib URL aus sPhttp://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpusmanifestsitemsxmlsdirsN(surllibsurlopensreadsXMLsxmlsdomsminidomsparseStringsgetElementsByTagNamesitemssdictsitems
attributessvalueshas_keysfolder(sfoldersXMLsdictsitemsdomsitems((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pysreadArchimedesXML£s	
	%cs·¸¹ti|ƒ}»g}¼g}½g}¿|idƒ}Àt	|t
|ƒdƒ}	Âx”|DÂ]‰}Ät
i|d|ƒoÅ|i|ƒnÇt
i||ƒoÉ|i|ƒnÊt
i||ƒoË|i|ƒnqlWÍtiii|dƒ}Îy&Ït
i|idƒdiƒ}WnÐÑd}nXÒtƒ|iid<Ó||iid<Ô||iid	<Õ||iid
<Ö||iid<×||iid<Ø|	|iid
<Útdƒi|ƒ}
Û|
ƒSdS(s=gibt input formular zur erstellung des texttools meta tag auss/is/index.metaslangissisolistspathstextssimagefoldersspresentationfolderssfilelanguages	externxmls Products/OSA_system/ImageandTextN(!sosslistdirspathsfilesstextssimagefoldersspresentationfoldersssplitssplittedsreadArchimedesXMLslens	externxmlsfilenamesarchives
isdigilib2sappends
isFullTextsisPresentationsxmlsdomsminidomsparsesgetTextsgetElementsByTagNames
childNodessfilelanguagesgetISOsselfsREQUESTsSESSIONsPageTemplateFiles__of__snewtemplate(sselfspathsfilesspresentationfolderssdomsfilenamesfilelanguagestextsssplitteds	externxmlsnewtemplatesimagefolders((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pyscombineTextImage·s:			
	&
cs7ßàátiii|dƒ}â|idƒd}å|idƒ}æt|ƒdjo'ç|i	|dƒ}è|iƒnê|idƒ}ít
i|d|idƒd}ð|idƒ}	ñ|idƒ}ò|	i|ƒó|i|	ƒõ|iid	ƒoOö|id	ƒ}
÷|i|id	ƒ}ø|
i|ƒù|i|
ƒnû|iid
ƒo„üt
i|d|id
ƒd}
ý|id
ƒ}þ|i|d|id
d|
ƒ}ÿ|i|ƒ|i|ƒn|iidƒoR|id
ƒ}|i|iidƒ}|i|ƒ|i|ƒn|iid
ƒoO	|id
ƒ}
|i|id
ƒ}|i|ƒ|i|ƒn|iidƒoW|idƒ}|i|idd|ƒ}|i|ƒ|i|ƒn|iidƒok|iddjoO|idƒ}|i|idƒ}|i|ƒ|i|ƒnn|i|ƒy_|idƒd} |idƒ}!x-|D!]"}"dG|GH#|i	|ƒqWWn
$%nX&yq'|idƒd}(|idƒ})|i|idƒ}*dGt(GH+|i|ƒ,|i|ƒWnè-.yS/|idƒ}0|idƒd}1x!|D1]}2|i	|ƒqôWWn
34nX6ye7|idƒd}8|idƒ}9|i|idƒ};|i|ƒ<|i|ƒWn
=>nXnX@t)|ddƒ}A|i+|i,ƒi-dƒƒB|i.ƒFt/i0d|ƒi1ƒHt
i2dt3i%dd|idd|id	ƒƒdS(s&erstellt bzw. ändert texttool meta tags/index.metasmetaistexttools/spresentationsdisplaysyessimagestextsexternals	externxmls	pagebreaksxsltssbibslangsXsLANG:sresourceswsutf-8sFhttp://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%ss{ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/thumb 90 >> /tmp/sc.out &s/mpiwg/online/spathN(4sxmlsdomsminidomsparsespathsgetElementsByTagNamesnodessubnodelistslensremoveChildssubnodesunlinks
createElementsosslistdirsselfsREQUESTspresentfilesdisplaynodescreateTextNodesdisplaynodetextsappendChildshas_keysnamenodesnamenodetextstextfilestextfoldernodestextfoldernodetextsSESSIONs
pagebreaknodespagebreaknodetextspresentationnodespresentationnodetextsxsltnodesxsltnodetextsnode2ssubsssubsmainstextnodeslangsfiles	writefileswritestoxmlsencodesclosesurllibsurlopens	readlinesspopensre(sselfspathsnodesnamenodetextssubssxsltnodetextstextnodes	writefilesxsltnodesdisplaynodesnamenodesdisplaynodetextspagebreaknodetextstextfilespresentfilessubnodestextfoldernodetextstextfoldernodessubsmainspresentationnodessubnodelistsdomspresentationnodetexts
pagebreaknodesnode2((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pyscombineTextImage2ßs¨%%)!
	
	
(%s__doc__sarchivesoss'Products.PageTemplates.PageTemplateFilesPageTemplateFiles#Products.PageTemplates.PageTemplatesPageTemplatesstringsurllibsxml.dom.minidomsxmlsresaddsgetISOsadd2sparse_query_stringsadd3sadd4sadd5sadd6stimes	localtimesstrftimesdatesaddPresentationsaddPresentation2saddTextsaddText2saddTextExternalsTextExternalErrorsgetNewTextPaths	addImagess
addImages2saddDirsToIndexMetasreadArchimedesXMLscombineTextImagescombineTextImage2( sgetNewTextPathsstringsparse_query_strings
addImages2saddTextsaddText2saddPresentation2scombineTextImagesaddDirsToIndexMetasdatesarchivesaddPresentationsreadArchimedesXMLsxmlsadd6sadd5sadd4sadd3sadd2saddTextExternalscombineTextImage2s	addImagessurllibsPageTemplatesresaddsPageTemplateFilesgetISOsTextExternalErrorsossstrftimes	localtime((s@/usr/local/mpiwg/Zope/lib/python/Products/OSA_system/OSAS_add.pys?s>
+% S	(

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