version 1.2, 2003/10/05 18:16:19
|
version 1.40, 2005/01/20 13:38:02
|
Line 1
|
Line 1
|
#BAUSTELLE |
#Neue Version Begin 5.4.2004 |
|
|
|
|
"""Methoden zum hinzufügen von Dokumenten ins Archiv""" |
"""Methoden zum hinzufügen von Dokumenten ins Archiv""" |
|
from OSAS_helpers import readArchimedesXML |
|
try: |
import archive |
import archive |
|
except: |
|
print "archive not imported" |
|
|
import os |
import os |
|
|
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.PageTemplate import PageTemplate |
from Products.PageTemplates.PageTemplate import PageTemplate |
import string |
import string |
import urllib |
import urllib |
import xml.dom.minidom |
import xml.dom.minidom |
|
from time import localtime,strftime |
#referencetypes=['Book','Bic','Journal Article','Manuscript','jiji'] |
from Globals import package_home |
|
|
import re |
import re |
|
def showHelp(helptext): |
|
"""show helptext""" |
|
return """<html> |
|
<body> |
|
% |
|
</body> |
|
</html>"""%helptext |
def add(self, no_upload=0): |
def add(self, no_upload=0): |
""" Add metadata or metadata and documents to the repository |
""" Add metadata or metadata and documents to the repository |
no_upload=0 kein upload sonst upload von documententen""" |
no_upload=0 kein upload sonst upload von documententen""" |
|
|
self.referencetypes=['Book','Journal Article','Manuscript'] |
#self.referencetypes=self.ZopeFind(self,obj_metatypes=['OSAS_MetadataMapping']) |
|
self.referencetypes=self.ZopeFind(self) |
|
|
newtemplate=PageTemplateFile('products/OSA_system/OSAS_add_new').__of__(self) |
newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_add_new').__of__(self) |
self.REQUEST.SESSION['path']=self.REQUEST['path'] |
self.REQUEST.SESSION['path']=self.REQUEST['path'] |
if no_upload==0: |
if no_upload==0: |
self.REQUEST.SESSION['no_upload']='yes' |
self.REQUEST.SESSION['no_upload']='yes' |
Line 28 def add(self, no_upload=0):
|
Line 42 def add(self, no_upload=0):
|
del self.REQUEST.SESSION['no_upload'] |
del self.REQUEST.SESSION['no_upload'] |
|
|
return newtemplate() |
return newtemplate() |
return self.referencetypes |
|
|
|
|
|
|
|
def getISO(): |
def getISO(): |
f=file('/Users/dwinter/Documents/Projekte/OSAS/OSA_system/iso639-1.inc','r').readlines() |
"""ISO""" |
|
try: |
|
f=file(os.path.join(package_home(globals()),'iso639-1.inc'),'r').readlines() |
|
|
ret={} |
ret={} |
for lineraw in f: |
for lineraw in f: |
line=lineraw.encode('ascii','replace') |
line=lineraw.encode('ascii','replace').strip() |
value=string.split(line,'\t')[0].encode('ascii','replace') |
value=string.split(line,'\t')[0].encode('ascii','replace') |
key=string.split(line,'\t')[1].encode('ascii','replace') |
key=string.split(line,'\t')[1].encode('ascii','replace') |
|
|
ret[key]=value |
ret[key]=value |
|
except: |
|
ret={} |
return ret |
return ret |
|
|
|
|
def add2(self): |
def add2(self): |
self.reftype=self.REQUEST['Reference Type'] |
self.reftype=self.REQUEST['Reference Type'] |
self.REQUEST.SESSION['reftype']=self.reftype |
self.REQUEST.SESSION['reftype']=self.reftype |
self.bibdata={'Book':['author','year','title','series editor','series title','series volume','number of pages','city','publisher','edition','number of volumes','translator','ISBN ISSN'], |
self.bibdata={} |
'Journal Article':['author','year','title','journal','volume','issue','pages','alternate journal','call number'], |
for referenceType in self.referencetypes: |
'Manuscript':['author','year','title','location','signature','pages','editorial remarks','description','keywords']} |
#print referenceType |
|
if referenceType[1].title == self.reftype: |
|
self.bibdata[referenceType[1].title]=referenceType[1].fields |
|
self.bibdata['data']=referenceType[1] |
self.fields=self.bibdata[self.reftype] |
self.fields=self.bibdata[self.reftype] |
|
|
self.isolist=getISO() |
self.isolist=getISO() |
|
tmp=getISO().keys() |
|
tmp.sort() |
|
self.isokeys=tmp |
#listed=[ x for x in self.isolist.keys()] |
#listed=[ x for x in self.isolist.keys()] |
#print listed |
#print listed |
#sorted=listed.sort() |
#sorted=listed.sort() |
#print sorted |
#print sorted |
|
|
newtemplate=PageTemplateFile('products/OSA_system/OSAS_add_bibdata').__of__(self) |
newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_add_bibdata').__of__(self) |
return newtemplate() |
return newtemplate() |
#return self.fields |
#return self.fields |
|
|
Line 91 def add3(self):
|
Line 115 def add3(self):
|
"""Foldername""" |
"""Foldername""" |
metadata=parse_query_string(self.REQUEST['QUERY_STRING']) |
metadata=parse_query_string(self.REQUEST['QUERY_STRING']) |
self.REQUEST.SESSION['metadata']=metadata |
self.REQUEST.SESSION['metadata']=metadata |
vorschlag_naming=metadata['author'][:5]+"_"+metadata['title'][:5]+"_"+metadata['year'] |
vorschlag=[] |
self.vorschlag_naming=vorschlag_naming.decode('ascii','ignore') |
if metadata.has_key('author'): |
|
vorschlag.append(metadata['author'][:5]) |
|
if metadata.has_key('title'): |
|
vorschlag.append(metadata['title'][:5]) |
|
if metadata.has_key('year'): |
|
vorschlag.append(metadata['year']) |
|
|
|
|
|
vorschlag_naming=string.join(vorschlag,"_") |
|
|
|
|
|
self.vorschlag_naming=unicode(vorschlag_naming,'ascii','ignore') |
if self.REQUEST.SESSION.has_key('no_upload'): |
if self.REQUEST.SESSION.has_key('no_upload'): |
self.REQUEST.SESSION['folder_name']=self.REQUEST.SESSION['path'] |
self.REQUEST.SESSION['folder_name']=self.REQUEST.SESSION['path'] |
return add5(self) |
return add5(self) |
else: |
else: |
newtemplate=PageTemplateFile('products/OSA_system/OSAS_add_naming').__of__(self) |
newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_add_naming').__of__(self) |
return newtemplate() |
return newtemplate() |
|
|
|
|
def add4(self): |
def add4(self): |
|
|
self.path=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1) |
self.path=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1) |
|
|
self.folder_name=self.REQUEST['folder_name'] |
self.folder_name=self.REQUEST['folder_name'] |
# netx has to be changed -> error if back button is used!! |
# next has to be changed -> error if back button is used!! |
self.REQUEST.SESSION['path']=self.REQUEST.SESSION['path']+"/"+self.REQUEST['folder_name'] |
self.REQUEST.SESSION['folder_name']=self.folder_name |
|
#return self.REQUEST['submit'] |
|
|
|
try: |
|
#os.popen('mkdir '+self.REQUEST.SESSION['path']) |
|
os.mkdir(os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name'])) |
|
os.chmod(os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name']),0775) |
|
|
|
except: |
|
|
|
"""nothing""" |
|
|
|
if self.REQUEST['submit']=="upload images": |
|
self.REQUEST.SESSION['path']=os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name']) |
|
|
|
|
self.REQUEST.SESSION['folder_name']=self.folder_name |
|
self.image_folder_name="pageimg" |
self.image_folder_name="pageimg" |
newtemplate=PageTemplateFile('products/OSA_system/OSAS_upload').__of__(self) |
newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_upload').__of__(self) |
|
|
return newtemplate() |
return newtemplate() |
|
|
|
elif self.REQUEST['submit']=="upload pdf": |
|
os.mkdir(os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name'])) |
|
return addPdf(self,os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name'])) |
|
else: |
|
os.mkdir(os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name'])) |
|
return addText(self,os.path.join(self.REQUEST.SESSION['path'],self.REQUEST['folder_name'])) |
|
|
|
|
def add5(self): |
def add5(self): |
"""ADD INDEX.META""" |
"""ADD INDEX.META""" |
newtemplate=PageTemplateFile('products/OSA_system/OSAS_add_metadata').__of__(self) |
try: |
|
os.chmod(self.REQUEST.SESSION['path'],0775) |
|
except: |
|
pass |
|
|
|
newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_add_metadata').__of__(self) |
return newtemplate() |
return newtemplate() |
|
|
def add6(self): |
def add6(self): |
Line 131 def add6(self):
|
Line 193 def add6(self):
|
self.metadata=self.REQUEST.SESSION['metadata'] |
self.metadata=self.REQUEST.SESSION['metadata'] |
self.metadataprint="" |
self.metadataprint="" |
for tag in self.metadata.keys(): |
for tag in self.metadata.keys(): |
|
if tag!="": |
self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"</"+tag+">\n" |
self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"</"+tag+">\n" |
|
|
newtemplate=PageTemplateFile('products/OSA_system/index_meta').__of__(self) |
newtemplate=PageTemplateFile('Products/OSA_system/zpt/index_meta').__of__(self) |
newtemplate.content_type="text/plain" |
newtemplate.content_type="text/plain" |
renderxml = newtemplate() |
renderxml = newtemplate(encode='utf-8') |
if self.REQUEST.SESSION.has_key('no_upload'): |
if self.REQUEST.SESSION.has_key('no_upload'): |
metapath=self.REQUEST.SESSION['path']+"/index.meta" |
metapath=self.REQUEST.SESSION['path']+"/index.meta" |
else: |
else: |
metapath=self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name']+"/index.meta" |
metapath=self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name']+"/index.meta" |
|
|
f=open(metapath,'w') |
f=open(metapath,'w') |
f.writelines(renderxml) |
f.write(renderxml.encode('utf-8')) |
f.close() |
f.close() |
os.chmod(metapath,0644) |
os.chmod(metapath,0664) |
|
os.popen('chmod -R 0775 %s'%self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name']) |
if self.REQUEST.SESSION.has_key('no_upload'): |
if self.REQUEST.SESSION.has_key('no_upload'): |
|
|
#newtemplate2=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/done',"text/html").__of__(self) |
#newtemplate2=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/done',"text/html").__of__(self) |
Line 152 def add6(self):
|
Line 216 def add6(self):
|
else: |
else: |
#print self.add_metadata['archive-path'] |
#print self.add_metadata['archive-path'] |
self.viewpath=re.search(r"/mpiwg/online/(.*)",self.add_metadata['archive-path']).group(1) |
self.viewpath=re.search(r"/mpiwg/online/(.*)",self.add_metadata['archive-path']).group(1) |
newtemplate2=PageTemplateFile('products/OSA_system/OSAS_saved').__of__(self) |
|
|
|
|
|
|
if (self.REQUEST.SESSION.has_key('no_upload')) and (self.REQUEST.SESSION['no_upload']=="text"): |
|
"""text upload""" |
|
return 1 |
|
else: |
|
newtemplate2=PageTemplateFile('Products/OSA_system/zpt/OSAS_saved').__of__(self) |
newtemplate2.content_type="text/html" |
newtemplate2.content_type="text/html" |
self.REQUEST.response.setHeader('Content-Type','text/html') |
self.REQUEST.response.setHeader('Content-Type','text/html') |
|
|
|
|
return newtemplate2() |
return newtemplate2() |
|
|
|
|
from time import localtime,strftime |
|
|
|
def date(self): |
def date(self): |
return strftime("%d.%m.%Y",localtime()) |
return strftime("%d.%m.%Y",localtime()) |
Line 173 def addPresentation(self,path):
|
Line 237 def addPresentation(self,path):
|
|
|
dom=xml.dom.minidom.parse(path+"/index.meta") |
dom=xml.dom.minidom.parse(path+"/index.meta") |
|
|
|
|
try: |
try: |
author=archive.getText(dom.getElementsByTagName('author')[0].childNodes) |
author=archive.getText(dom.getElementsByTagName('author')[0].childNodes) |
except: |
except: |
|
try: |
author=archive.getText(dom.getElementsByTagName('Author')[0].childNodes) |
author=archive.getText(dom.getElementsByTagName('Author')[0].childNodes) |
|
except: |
|
try: |
|
author=archive.getText(dom.getElementsByTagName('Editor')[0].childNodes) |
|
except: |
|
author="" |
|
try: |
title=archive.getText(dom.getElementsByTagName('title')[0].childNodes) |
title=archive.getText(dom.getElementsByTagName('title')[0].childNodes) |
|
except: |
|
title="" |
|
|
try: |
try: |
date=archive.getText(dom.getElementsByTagName('year')[0].childNodes) |
date=archive.getText(dom.getElementsByTagName('year')[0].childNodes) |
except: |
except: |
try: |
try: |
date=archive.getText(dom.getElementsByTagName('Year')[0].childNodes) |
date=archive.getText(dom.getElementsByTagName('Year')[0].childNodes) |
except: |
except: |
|
try: |
date=archive.getText(dom.getElementsByTagName('date')[0].childNodes) |
date=archive.getText(dom.getElementsByTagName('date')[0].childNodes) |
|
except: |
|
date="" |
i=1 |
i=1 |
while os.path.exists("%02d-presentation"%i): |
while os.path.exists(path+"/%02d-presentation"%i): |
i+=1 |
i+=1 |
self.REQUEST.SESSION['presentationname']="%02d-presentation"%i |
self.REQUEST.SESSION['presentationname']="%02d-presentation"%i |
self.REQUEST.SESSION['path']=path |
self.REQUEST.SESSION['path']=path |
self.REQUEST.SESSION['xmlvorschlag']="""<info> |
|
|
tmpTxt="""<?xml version="1.0" encoding="UTF-8"?> |
|
<info> |
<author>%s</author> |
<author>%s</author> |
<title>%s</title> |
<title>%s</title> |
<date>%s</date> |
<date>%s</date> |
<display>yes</display> |
<display>yes</display> |
</info>"""%(author,title,date) |
</info>"""%(author,title,date) |
|
|
newtemplate=PageTemplateFile('products/OSA_system/addPresentation').__of__(self) |
self.REQUEST.SESSION['xmlvorschlag']=tmpTxt.encode('utf-8') |
|
|
|
newtemplate=PageTemplateFile('Products/OSA_system/zpt/addPresentation').__of__(self) |
return newtemplate() |
return newtemplate() |
|
|
def addPresentation2(self): |
def addPresentation2(self): |
Line 222 def addPresentation2(self):
|
Line 304 def addPresentation2(self):
|
os.mkdir(path+"/"+folder_name) |
os.mkdir(path+"/"+folder_name) |
except: |
except: |
"""nothing""" |
"""nothing""" |
print "NAME:",file_name |
#print "NAME:",file_name |
f=open(path+"/"+folder_name+"/"+file_name,"w") |
f=open(path+"/"+folder_name+"/"+file_name,"w") |
f.write(xmlinfo) |
f.write(xmlinfo) |
f.close() |
f.close() |
|
try: |
|
os.chmod(path+"/"+folder_name,0775) |
|
except: |
|
"""NO""" |
|
|
|
os.chmod(path+"/"+folder_name+"/"+file_name,0664) |
|
addDirsToIndexMeta(path,folder_name,content_description,'presentation') |
|
|
|
return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path) |
|
|
|
|
|
def addPdf(self,path,folder=None): |
|
"""add fulltext to the path""" |
|
self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing text files |
|
self.REQUEST.SESSION['pathnew']=path |
|
newtemplate=PageTemplateFile('Products/OSA_system/zpt/addPdf').__of__(self) |
|
return newtemplate() |
|
|
|
def addPdf2(self): |
|
"""addtext""" |
|
folder_name="pdf" # foldername fixed |
|
|
|
if self.REQUEST['file_name']=="": |
|
file_name=self.REQUEST['fileupload'].filename |
|
else: |
|
file_name=self.REQUEST['file_name'] |
|
|
|
#print self.REQUEST['folder_name'] |
|
content_description=self.REQUEST['content_description'] |
|
path=self.REQUEST.SESSION['pathnew'] |
|
|
|
filedata=self.REQUEST.form['fileupload'].read() |
|
try: |
|
os.mkdir(path+"/"+folder_name) |
|
except: |
|
"""nothing""" |
|
f=open(path+"/"+folder_name+"/"+file_name,"w") |
|
f.write(filedata) |
|
f.close() |
os.chmod(path+"/"+folder_name,0755) |
os.chmod(path+"/"+folder_name,0755) |
os.chmod(path+"/"+folder_name+"/"+file_name,0644) |
os.chmod(path+"/"+folder_name+"/"+file_name,0644) |
addDirsToIndexMeta(path,folder_name,content_description,'presentation') |
addDirsToIndexMeta(path,folder_name,content_description,'pdf') |
|
|
return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path) |
return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path) |
|
|
def addText(self,path): |
def addText(self,path,folder=None): |
"""add fulltext to the path""" |
"""add fulltext to the path""" |
self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing text files |
self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing text files |
self.REQUEST.SESSION['path']=path |
self.REQUEST.SESSION['pathnew']=path |
newtemplate=PageTemplateFile('products/OSA_system/addText').__of__(self) |
newtemplate=PageTemplateFile('Products/OSA_system/zpt/addText').__of__(self) |
return newtemplate() |
return newtemplate() |
|
|
def addText2(self): |
def addText2(self): |
|
"""addtext""" |
folder_name=self.REQUEST['folder_name'] |
folder_name=self.REQUEST['folder_name'] |
#print self.REQUEST['folder_name'] |
#print self.REQUEST['folder_name'] |
content_description=self.REQUEST['content_description'] |
content_description=self.REQUEST['content_description'] |
path=self.REQUEST.SESSION['path'] |
path=self.REQUEST.SESSION['pathnew'] |
file_name=self.REQUEST['fileupload'].filename |
file_name=self.REQUEST['fileupload'].filename |
filedata=self.REQUEST.form['fileupload'].read() |
filedata=self.REQUEST.form['fileupload'].read() |
os.mkdir(path+"/"+folder_name) |
os.mkdir(path+"/"+folder_name) |
Line 302 def addTextExternal(self,path,texturl,ve
|
Line 424 def addTextExternal(self,path,texturl,ve
|
node.appendChild(subnode) |
node.appendChild(subnode) |
|
|
writefile=file(path+"/index.meta","w") |
writefile=file(path+"/index.meta","w") |
writefile.write(dom.toxml().encode('utf-8')) |
writefile.write(dom.toxml(encoding="UTF-8")) |
writefile.close() |
writefile.close() |
|
|
#change texttool tag |
#change texttool tag |
Line 331 def addTextExternal(self,path,texturl,ve
|
Line 453 def addTextExternal(self,path,texturl,ve
|
|
|
#index.meta ausgeben |
#index.meta ausgeben |
writefile=file(path+"/index.meta","w") |
writefile=file(path+"/index.meta","w") |
writefile.write(dom.toxml().encode('utf-8')) |
writefile.write(dom.toxml(encoding="UTF-8")) |
writefile.close() |
writefile.close() |
|
|
#registrieren |
#registrieren |
print urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines() |
return urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines() |
|
|
|
|
return "DONE:"+textpath+"/"+name |
|
|
|
def TextExternalError(text): |
def TextExternalError(text): |
firsts=text[0:10] |
firsts=text[0:10] |
print firsts |
#print firsts |
try: |
try: |
match=re.search(r".*<?xml.*",firsts) |
match=re.search(r".*<?xml.*",firsts) |
except: |
except: |
Line 360 def addImages(self,path):
|
Line 482 def addImages(self,path):
|
"""Imagesfolder to the path""" |
"""Imagesfolder to the path""" |
self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing pageimages files |
self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing pageimages files |
self.REQUEST.SESSION['path']=path |
self.REQUEST.SESSION['path']=path |
newtemplate=PageTemplateFile('products/OSA_system/OSAS_addImages').__of__(self) |
newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_addImages').__of__(self) |
return newtemplate() |
return newtemplate() |
|
|
def addImages2(self): |
def addImages2(self): |
Line 374 def addImages2(self):
|
Line 496 def addImages2(self):
|
self.content_type='images' |
self.content_type='images' |
addDirsToIndexMeta(self.REQUEST.SESSION['path'],self.image_folder_name,self.content_description,self.content_type) |
addDirsToIndexMeta(self.REQUEST.SESSION['path'],self.image_folder_name,self.content_description,self.content_type) |
self.REQUEST.SESSION['path']=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1) |
self.REQUEST.SESSION['path']=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1) |
newtemplate=PageTemplateFile('products/OSA_system/OSAS_upload2').__of__(self) |
newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_upload2').__of__(self) |
return newtemplate() |
return newtemplate() |
|
|
|
|
Line 404 def addDirsToIndexMeta(path,folder_name,
|
Line 526 def addDirsToIndexMeta(path,folder_name,
|
node.appendChild(subnode) |
node.appendChild(subnode) |
|
|
writefile=file(path+"/index.meta","w") |
writefile=file(path+"/index.meta","w") |
writefile.write(dom.toxml().encode('utf-8')) |
writefile.write(dom.toxml(encoding='UTF-8')) |
writefile.close() |
writefile.close() |
|
|
def combineTextImage(self,path): |
def readArchimedesXML(folder): |
"""gibt input formular zur erstellung des texttools meta tag aus""" |
"""gib URL aus """ |
files = os.listdir(path) |
XML=urllib.urlopen("http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpusmanifest").read() |
|
#print XML |
texts=[] |
dom=xml.dom.minidom.parseString(XML) |
imagefolders=[] |
items=dom.getElementsByTagName('item') |
presentationfolders=[] |
dict={} |
|
|
for filename in files: |
|
|
|
if archive.isdigilib2(path+"/"+filename): |
|
imagefolders.append(filename) |
|
|
|
if archive.isFullText(path,filename): |
|
texts.append(filename) |
|
if archive.isPresentation(path,filename): |
|
presentationfolders.append(filename) |
|
|
|
dom=xml.dom.minidom.parse(path+"/index.meta") |
for item in items: |
|
#print item.attributes['dir'].value |
try: |
try: |
filelanguage=archive.getText(dom.getElementsByTagName('lang')[0].childNodes) |
dict[item.attributes['dir'].value]=item.attributes['xml'].value |
|
#print item.attributes['dir'].value,item.attributes['text'].value |
except: |
except: |
filelanguage="" |
"""nothing""" |
self.REQUEST.SESSION['isolist']=getISO() |
|
self.REQUEST.SESSION['path']=path |
if dict.has_key(folder): |
self.REQUEST.SESSION['texts']=texts |
return dict[folder] |
self.REQUEST.SESSION['imagefolders']=imagefolders |
else: |
self.REQUEST.SESSION['presentationfolders']=presentationfolders |
return "" |
self.REQUEST.SESSION['filelanguage']=filelanguage |
|
newtemplate=PageTemplateFile('products/OSA_system/ImageandText').__of__(self) |
|
return newtemplate() |
|
|
|
|
|
|
|
Line 472 def combineTextImage2(self,path):
|
Line 584 def combineTextImage2(self,path):
|
if self.REQUEST.has_key('text'): |
if self.REQUEST.has_key('text'): |
textfile=os.listdir(path+"/"+self.REQUEST['text'])[0] |
textfile=os.listdir(path+"/"+self.REQUEST['text'])[0] |
textfoldernode=dom.createElement('text') |
textfoldernode=dom.createElement('text') |
textfoldernodetext=dom.createTextNode(self.REQUEST['text']+"/"+textfile) |
textfoldernodetext=dom.createTextNode(path+"/"+self.REQUEST['text']+"/"+textfile) |
|
textfoldernode.appendChild(textfoldernodetext) |
|
subnode.appendChild(textfoldernode) |
|
|
|
if self.REQUEST.has_key('external'):#USE CVS instead of local text |
|
textfoldernode=dom.createElement('text') |
|
textfoldernodetext=dom.createTextNode(self.REQUEST.SESSION['externxml']) |
textfoldernode.appendChild(textfoldernodetext) |
textfoldernode.appendChild(textfoldernodetext) |
subnode.appendChild(textfoldernode) |
subnode.appendChild(textfoldernode) |
|
|
Line 488 def combineTextImage2(self,path):
|
Line 606 def combineTextImage2(self,path):
|
presentationnode.appendChild(presentationnodetext) |
presentationnode.appendChild(presentationnodetext) |
subnode.appendChild(presentationnode) |
subnode.appendChild(presentationnode) |
|
|
|
|
|
if self.REQUEST.has_key('xslt'): |
|
if not self.REQUEST['xslt']=="": |
|
xsltnode=dom.createElement('xslt') |
|
xsltnodetext=dom.createTextNode(self.REQUEST['xslt']) |
|
xsltnode.appendChild(xsltnodetext) |
|
subnode.appendChild(xsltnode) |
|
|
|
|
|
if self.REQUEST.has_key('thumbtemplate'): |
|
if not self.REQUEST['thumbtemplate']=="": |
|
xsltnode=dom.createElement('thumbtemplate') |
|
xsltnodetext=dom.createTextNode(self.REQUEST['thumbtemplate']) |
|
xsltnode.appendChild(xsltnodetext) |
|
subnode.appendChild(xsltnode) |
|
|
|
if self.REQUEST.has_key('topbar'): |
|
if not self.REQUEST['topbar']=="": |
|
xsltnode=dom.createElement('toptemplate') |
|
xsltnodetext=dom.createTextNode(self.REQUEST['topbar']) |
|
xsltnode.appendChild(xsltnodetext) |
|
subnode.appendChild(xsltnode) |
|
|
|
if self.REQUEST.has_key('startpage'): |
|
if not self.REQUEST['startpage']=="": |
|
xsltnode=dom.createElement('startpage') |
|
xsltnodetext=dom.createTextNode(self.REQUEST['startpage']) |
|
xsltnode.appendChild(xsltnodetext) |
|
subnode.appendChild(xsltnode) |
|
|
|
if self.REQUEST.has_key('project'): |
|
if not self.REQUEST['project']=="": |
|
xsltnode=dom.createElement('project') |
|
xsltnodetext=dom.createTextNode(self.REQUEST['project']) |
|
xsltnode.appendChild(xsltnodetext) |
|
subnode.appendChild(xsltnode) |
|
|
|
if self.REQUEST.has_key('digiliburlprefix'): |
|
if not self.REQUEST['digiliburlprefix']=="": |
|
xsltnode=dom.createElement('digiliburlprefix') |
|
xsltnodetext=dom.createTextNode(self.REQUEST['digiliburlprefix']) |
|
xsltnode.appendChild(xsltnodetext) |
|
subnode.appendChild(xsltnode) |
|
|
node.appendChild(subnode) |
node.appendChild(subnode) |
|
|
# node=dom.getElementsByTagName('lang')[0] #getNode |
try: |
|
node2=node.getElementsByTagName('bib')[0] |
|
subs=node2.getElementsByTagName('lang') |
|
for sub in subs: |
|
node2.removeChild(sub) |
|
except: |
|
"""nothing""" |
|
try: |
|
main=dom.getElementsByTagName('bib')[0] |
|
node=dom.createElement('lang') |
|
textnode=dom.createTextNode(self.REQUEST['lang']) |
|
node.appendChild(textnode) |
|
main.appendChild(node) |
|
except: |
|
try: |
|
subs=dom.getElementsByTagName('lang') |
|
main=dom.getElementsByTagName('resource')[0] |
|
for sub in subs: |
|
main.removeChild(sub) |
|
except: |
|
"""nothing""" |
|
|
|
try: |
|
main=dom.getElementsByTagName('resource')[0] |
|
node=dom.createElement('lang') |
|
textnode=dom.createTextNode(self.REQUEST['lang']) |
|
#print "LANG:",self.REQUEST['lang'] |
|
node.appendChild(textnode) |
|
main.appendChild(node) |
|
except: |
|
"""nothing""" |
|
|
writefile=file(path+"/index.meta","w") |
writefile=file(path+"/index.meta","w") |
writefile.write(dom.toxml().encode('utf-8')) |
writefile.write(dom.toxml(encoding="UTF-8")) |
writefile.close() |
writefile.close() |
|
|
|
|
|
|
urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines() |
urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines() |
#return urllib.quote("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path) |
|
os.popen("ssh nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/thumb 90 &"% re.sub('mpiwg/online/','',self.REQUEST['path']+"/"+self.REQUEST['image'])) |
|
return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+self.REQUEST['path']) |
|
|
|
|
if self.REQUEST.has_key('image'): # falls bilder |
|
path=re.sub('//','/',self.REQUEST['path']) # falls '//' im Pfad |
|
dlpath = re.sub('/mpiwg/online/','',path)+"/"+self.REQUEST['image'] |
|
os.popen("ssh archive@nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat -src=/mpiwg/online -dest=/mpiwg/temp/online/scaled/thumb -dir=%s -scaleto=90 -sync >> /tmp/sc.out &"%dlpath ) |
|
#os.popen("ssh archive@nausikaa2.rz-berlin.mpg.de /usr/local/mpiwg/scripts/scaleomat.pl %s /mpiwg/temp/online/scaled/thumb 90 >> /tmp/sc.out &"% re.sub('/mpiwg/online/','',self.REQUEST['path']+"/"+self.REQUEST['image'])) |
|
|
|
else: # falls keine Bilder (bug in reg.cgi info file ersetzen) |
|
f=file("/tmp/tmp_info.xml","w") |
|
tmp=patchedInfoXML(self.REQUEST['path']) |
|
f.write(tmp.encode('utf-8')) |
|
f.close() |
|
splitted=path.split("/") |
|
fn=splitted[len(splitted)-1] |
|
remotePath="archive@nausikaa2.rz-berlin.mpg.de:/usr/local/share/archimedes/web/docs/proj/echo/1/docs/"+fn+"/info.xml" |
|
os.popen("scp /tmp/tmp_info.xml %s"%remotePath) |
|
|
|
def patchedInfoXML(path): |
|
dom=xml.dom.minidom.parse(path+"/index.meta") |
|
|
|
ret="<info>\n" |
|
ret+="<remotetext>%s</remotetext>\n"%archive.getText(dom.getElementsByTagName('text')[0].childNodes) |
|
ret+="<pagebreak>%s</pagebreak>\n"%archive.getText(dom.getElementsByTagName('pagebreak')[0].childNodes) |
|
ret+="<display>%s</display>\n"%archive.getText(dom.getElementsByTagName('display')[0].childNodes) |
|
try: |
|
ret+="<toptemplate>%s</toptemplate>\n"%archive.getText(dom.getElementsByTagName('toptemplate')[0].childNodes) |
|
except: |
|
"""not""" |
|
try: |
|
ret+="<thumbtemplate>%s</thumbtemplate>\n"%archive.getText(dom.getElementsByTagName('thumbtemplate')[0].childNodes) |
|
except: |
|
"""not""" |
|
try: |
|
ret+="<startpage>%s</startpage>\n"%archive.getText(dom.getElementsByTagName('startpage')[0].childNodes) |
|
except: |
|
"""not""" |
|
|
|
ret+="<lang>%s</lang>\n"%archive.getText(dom.getElementsByTagName('lang')[0].childNodes) |
|
try: |
|
ret+="<author>%s</author>\n"%archive.getText(dom.getElementsByTagName('author')[0].childNodes) |
|
except: |
|
"""not""" |
|
try: |
|
ret+="<title>%s</title>\n"%archive.getText(dom.getElementsByTagName('title')[0].childNodes) |
|
except: |
|
"""not""" |
|
|
|
ret+="</info>" |
|
|
|
return ret |