Annotation of OSAS/OSA_system/OSAS_add.py, revision 1.19
1.18 dwinter 1: #Neue Version Begin 5.4.2004
1.1 dwinter 2:
3:
4: """Methoden zum hinzufügen von Dokumenten ins Archiv"""
1.13 dwinter 5: from OSAS_helpers import readArchimedesXML
1.17 dwinter 6: try:
7: import archive
8: except:
9: print "archive not imported"
10:
1.1 dwinter 11: import os
12: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
13: from Products.PageTemplates.PageTemplate import PageTemplate
14: import string
15: import urllib
16: import xml.dom.minidom
1.12 dwinter 17: from time import localtime,strftime
1.18 dwinter 18: from Globals import package_home
1.1 dwinter 19:
20: import re
21: def add(self, no_upload=0):
22: """ Add metadata or metadata and documents to the repository
23: no_upload=0 kein upload sonst upload von documententen"""
24:
1.18 dwinter 25: #self.referencetypes=self.ZopeFind(self,obj_metatypes=['OSAS_MetadataMapping'])
26: self.referencetypes=self.ZopeFind(self)
27:
1.12 dwinter 28: newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_add_new').__of__(self)
1.1 dwinter 29: self.REQUEST.SESSION['path']=self.REQUEST['path']
30: if no_upload==0:
31: self.REQUEST.SESSION['no_upload']='yes'
32: else:
33: if self.REQUEST.SESSION.has_key('no_upload'):
34: del self.REQUEST.SESSION['no_upload']
35:
36: return newtemplate()
37:
38:
39:
40: def getISO():
1.10 dwinter 41: """ISO"""
1.9 dwinter 42: try:
1.18 dwinter 43: f=file(os.path.join(package_home(globals()),'iso639-1.inc'),'r').readlines()
44:
1.9 dwinter 45: ret={}
46: for lineraw in f:
47: line=lineraw.encode('ascii','replace')
48: value=string.split(line,'\t')[0].encode('ascii','replace')
49: key=string.split(line,'\t')[1].encode('ascii','replace')
1.10 dwinter 50: ret[key]=value
1.9 dwinter 51: except:
52: ret={}
1.1 dwinter 53: return ret
54:
55: def add2(self):
56: self.reftype=self.REQUEST['Reference Type']
1.18 dwinter 57: self.REQUEST.SESSION['reftype']=self.reftype
58: self.bibdata={}
59: for referenceType in self.referencetypes:
60: print referenceType
61: self.bibdata[referenceType[1].title]=referenceType[1].fields
1.1 dwinter 62:
63: self.fields=self.bibdata[self.reftype]
64: self.isolist=getISO()
1.10 dwinter 65: tmp=getISO().keys()
66: tmp.sort()
67: self.isokeys=tmp
1.1 dwinter 68: #listed=[ x for x in self.isolist.keys()]
69: #print listed
70: #sorted=listed.sort()
71: #print sorted
72:
1.12 dwinter 73: newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_add_bibdata').__of__(self)
1.1 dwinter 74: return newtemplate()
75: #return self.fields
76:
77:
78: def parse_query_string(str):
79: queries={}
80: key=""
81: value=""
82: tmp=""
83: toggle="key"
84: str=urllib.unquote(str)
85: for i in str:
86: if i=="=":
87: key=tmp
88: toggle="value"
89: tmp=""
90: elif i=="&":
91: queries[key]=tmp
92: tmp=""
93: toggle="key"
94: else:
95: if toggle=="key":
96: if i=="+" : i="-"
97: else:
98: if i=="+" : i=" "
99: tmp=tmp+i
100: queries[key]=tmp
101: return queries
102:
103: def add3(self):
104: """Foldername"""
105: metadata=parse_query_string(self.REQUEST['QUERY_STRING'])
106: self.REQUEST.SESSION['metadata']=metadata
1.18 dwinter 107: vorschlag=[]
108: if metadata.has_key('author'):
109: vorschlag.append(metadata['author'][:5])
110: if metadata.has_key('title'):
111: vorschlag.append(metadata['title'][:5])
112: if metadata.has_key('year'):
113: vorschlag.append(metadata['year'])
114:
115:
116: vorschlag_naming=string.join(vorschlag,"_")
117:
118:
1.17 dwinter 119: self.vorschlag_naming=unicode(vorschlag_naming,'ascii','ignore')
1.1 dwinter 120: if self.REQUEST.SESSION.has_key('no_upload'):
121: self.REQUEST.SESSION['folder_name']=self.REQUEST.SESSION['path']
122: return add5(self)
123: else:
1.12 dwinter 124: newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_add_naming').__of__(self)
1.1 dwinter 125: return newtemplate()
126:
127:
128: def add4(self):
129: self.path=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1)
130:
131: self.folder_name=self.REQUEST['folder_name']
1.18 dwinter 132: # next has to be changed -> error if back button is used!!
1.1 dwinter 133: self.REQUEST.SESSION['path']=self.REQUEST.SESSION['path']+"/"+self.REQUEST['folder_name']
134:
135:
136: self.REQUEST.SESSION['folder_name']=self.folder_name
137: self.image_folder_name="pageimg"
1.12 dwinter 138: newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_upload').__of__(self)
1.1 dwinter 139: return newtemplate()
140:
141: def add5(self):
142: """ADD INDEX.META"""
1.12 dwinter 143: newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_add_metadata').__of__(self)
1.1 dwinter 144: return newtemplate()
145:
146: def add6(self):
147: metadata=parse_query_string(self.REQUEST['QUERY_STRING'])
148: metadata['archive-path']=os.path.split(self.REQUEST.SESSION['path'])[0]
149: #metadata['folder_name']=self.REQUEST.SESSION['folder_name']
150: metadata['folder_name']=os.path.split(self.REQUEST.SESSION['path'])[1]
151: metadata['content-type']="scanned document"
152: self.reftype=self.REQUEST.SESSION['reftype']
153: self.REQUEST.SESSION['add_metadata']=metadata
154: self.add_metadata=metadata
155: self.metadata=self.REQUEST.SESSION['metadata']
156: self.metadataprint=""
157: for tag in self.metadata.keys():
158: self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"</"+tag+">\n"
159:
1.12 dwinter 160: newtemplate=PageTemplateFile('Products/OSA_system/zpt/index_meta').__of__(self)
1.1 dwinter 161: newtemplate.content_type="text/plain"
162: renderxml = newtemplate()
163: if self.REQUEST.SESSION.has_key('no_upload'):
164: metapath=self.REQUEST.SESSION['path']+"/index.meta"
165: else:
166: metapath=self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name']+"/index.meta"
167:
168: f=open(metapath,'w')
169: f.writelines(renderxml)
170: f.close()
1.10 dwinter 171: os.chmod(metapath,0664)
172: os.popen('chmod -R 0775 %s'%self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name'])
1.1 dwinter 173: if self.REQUEST.SESSION.has_key('no_upload'):
174:
175: #newtemplate2=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/done',"text/html").__of__(self)
176: return self.REQUEST.response.redirect(self.REQUEST['URL2']+"?path="+self.REQUEST.SESSION['path'])
177: else:
178: #print self.add_metadata['archive-path']
179: self.viewpath=re.search(r"/mpiwg/online/(.*)",self.add_metadata['archive-path']).group(1)
1.12 dwinter 180: newtemplate2=PageTemplateFile('Products/OSA_system/zpt/OSAS_saved').__of__(self)
1.1 dwinter 181:
182:
183: newtemplate2.content_type="text/html"
184: self.REQUEST.response.setHeader('Content-Type','text/html')
185:
186:
187: return newtemplate2()
188:
189:
1.12 dwinter 190:
1.1 dwinter 191:
192: def date(self):
193: return strftime("%d.%m.%Y",localtime())
194:
195:
196: def addPresentation(self,path):
197: """add presentation to the path"""
198:
199: dom=xml.dom.minidom.parse(path+"/index.meta")
1.3 dwinter 200:
201:
1.1 dwinter 202: try:
203: author=archive.getText(dom.getElementsByTagName('author')[0].childNodes)
204: except:
1.9 dwinter 205: try:
206: author=archive.getText(dom.getElementsByTagName('Author')[0].childNodes)
207: except:
208: author=archive.getText(dom.getElementsByTagName('Editor')[0].childNodes)
209:
1.1 dwinter 210: title=archive.getText(dom.getElementsByTagName('title')[0].childNodes)
211: try:
212: date=archive.getText(dom.getElementsByTagName('year')[0].childNodes)
213: except:
214: try:
215: date=archive.getText(dom.getElementsByTagName('Year')[0].childNodes)
216: except:
217: date=archive.getText(dom.getElementsByTagName('date')[0].childNodes)
218: i=1
219: while os.path.exists("%02d-presentation"%i):
220: i+=1
221: self.REQUEST.SESSION['presentationname']="%02d-presentation"%i
222: self.REQUEST.SESSION['path']=path
223: self.REQUEST.SESSION['xmlvorschlag']="""<info>
224: <author>%s</author>
225: <title>%s</title>
226: <date>%s</date>
227: <display>yes</display>
228: </info>"""%(author,title,date)
229:
1.12 dwinter 230: newtemplate=PageTemplateFile('Products/OSA_system/zpt/addPresentation').__of__(self)
1.1 dwinter 231: return newtemplate()
232:
233: def addPresentation2(self):
234: """add presentation """
1.2 dwinter 235: folder_name=self.REQUEST['folder_name']
1.1 dwinter 236: #print self.REQUEST['folder_name']
1.2 dwinter 237: content_description=self.REQUEST['content_description']
1.1 dwinter 238:
1.2 dwinter 239: path=self.REQUEST.SESSION['path']
1.1 dwinter 240:
241: if not self.REQUEST.has_key('fileupload'):
1.2 dwinter 242: xmlinfo=self.REQUEST['xmltext']
1.1 dwinter 243: file_name="info.xml"
244:
245: else:
246: file_name=self.REQUEST['fileupload'].filename
1.2 dwinter 247: xmlinfo=self.REQUEST.form['fileupload'].read()
248: # hack Multipart auswertung funktioniert nicht ausser bei mozilla
1.1 dwinter 249: file_name="info.xml"
1.2 dwinter 250: xmlinfo=self.REQUEST['xmltext']
1.1 dwinter 251: try:
1.2 dwinter 252: os.mkdir(path+"/"+folder_name)
1.1 dwinter 253: except:
254: """nothing"""
1.5 dwinter 255: #print "NAME:",file_name
1.2 dwinter 256: f=open(path+"/"+folder_name+"/"+file_name,"w")
257: f.write(xmlinfo)
1.1 dwinter 258: f.close()
1.19 ! dwinter 259: try:
! 260: os.chmod(path+"/"+folder_name,0755)
! 261: except:
! 262: """NO"""
! 263:
1.2 dwinter 264: os.chmod(path+"/"+folder_name+"/"+file_name,0644)
265: addDirsToIndexMeta(path,folder_name,content_description,'presentation')
1.1 dwinter 266:
1.2 dwinter 267: return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path)
1.1 dwinter 268:
269: def addText(self,path):
270: """add fulltext to the path"""
271: self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing text files
272: self.REQUEST.SESSION['path']=path
1.12 dwinter 273: newtemplate=PageTemplateFile('Products/OSA_system/zpt/addText').__of__(self)
1.1 dwinter 274: return newtemplate()
275:
276: def addText2(self):
1.2 dwinter 277: folder_name=self.REQUEST['folder_name']
1.1 dwinter 278: #print self.REQUEST['folder_name']
1.2 dwinter 279: content_description=self.REQUEST['content_description']
280: path=self.REQUEST.SESSION['path']
281: file_name=self.REQUEST['fileupload'].filename
282: filedata=self.REQUEST.form['fileupload'].read()
283: os.mkdir(path+"/"+folder_name)
284: f=open(path+"/"+folder_name+"/"+file_name,"w")
285: f.write(filedata)
1.1 dwinter 286: f.close()
1.2 dwinter 287: os.chmod(path+"/"+folder_name,0755)
288: os.chmod(path+"/"+folder_name+"/"+file_name,0644)
289: addDirsToIndexMeta(path,folder_name,content_description,'fulltext')
1.1 dwinter 290:
1.2 dwinter 291: return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path)
1.1 dwinter 292:
293: def addTextExternal(self,path,texturl,version):
294: """hinzufügen eines externen textes"""
295: try: #neue text version einlesen
296: texttemp=urllib.urlopen(texturl).readlines()
297: text=""
298: for line in texttemp:
299: text=text+line
300: except: #fehler beim lesen des textes
301: return "ERROR: cannot read: %s"%texturl
302: if TextExternalError(text): #kein xml header
303: return "ERROR: cannot read: %s"%texturl, "received:",text
304: textpath=getNewTextPath(path) #erzeuge neuen Ornder für den Text
305: splitted=string.split(texturl,"/")
306: name=splitted[len(splitted)-1] #Name des XML-files
307: try:
308: writefile=file(path+"/"+textpath+"/"+name,"w")
309: except:
310: return"ERROR: cannot write: %s"%path+"/"+textpath+"/"+name
311: writefile.write(text)
312: writefile.close()
313: os.chmod(path+"/"+textpath+"/"+name,0644)
314:
315: #add new file to XML
316: dom=xml.dom.minidom.parse(path+"/index.meta")
317: node=dom.getElementsByTagName('resource')[0] #getNode
318:
319: subnode=dom.createElement('dir')
320:
321: namenode=dom.createElement('name')
322: namenodetext=dom.createTextNode(textpath)
323: namenode.appendChild(namenodetext)
324: subnode.appendChild(namenode)
325:
326: descriptionnode=dom.createElement('description')
327: descriptionnodetext=dom.createTextNode('archimedes text:'+version)
328: descriptionnode.appendChild(descriptionnodetext)
329: subnode.appendChild(descriptionnode)
330:
331: contentnode=dom.createElement('content-type')
332: contentnodetext=dom.createTextNode('fulltext')
333: contentnode.appendChild(contentnodetext)
334: subnode.appendChild(contentnode)
335:
336: node.appendChild(subnode)
337:
338: writefile=file(path+"/index.meta","w")
339: writefile.write(dom.toxml().encode('utf-8'))
340: writefile.close()
341:
342: #change texttool tag
343: dom=xml.dom.minidom.parse(path+"/index.meta")
344: node=dom.getElementsByTagName('meta')[0] #getNode
345:
346: try: #texttool existiert schon
347: subnode=node.getElementsByTagName('texttool')[0]
348: except: #wenn nicht Fehler ausgeben
349: return "ERROR:no presentation configured yet, user Web Front End to do so!"
350:
351:
352: try:
353: texttoolnodelist=subnode.getElementsByTagName('text')
354:
355: if not len(texttoolnodelist)==0: #texttool tag existiert schon, dann löschen
356: subsubnode=subnode.removeChild(texttoolnodelist[0])
357: subsubnode.unlink()
358: except:
359: """nothing"""
360: # text neu anlegen
361: textfoldernode=dom.createElement('text')
362: textfoldernodetext=dom.createTextNode(textpath+"/"+name)
363: textfoldernode.appendChild(textfoldernodetext)
364: subnode.appendChild(textfoldernode)
365:
366: #index.meta ausgeben
367: writefile=file(path+"/index.meta","w")
368: writefile.write(dom.toxml().encode('utf-8'))
369: writefile.close()
370:
371: #registrieren
1.6 dwinter 372: return urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines()
373:
1.1 dwinter 374:
375:
376: def TextExternalError(text):
377: firsts=text[0:10]
1.5 dwinter 378: #print firsts
1.1 dwinter 379: try:
380: match=re.search(r".*<?xml.*",firsts)
381: except:
382: return 1
383: return 0
384:
385: def getNewTextPath(path):
386: i=1
387: while os.path.exists(path+"/fulltext%i"%i):
388: i+=1
389: os.mkdir(path+"/fulltext%i"%i)
390: os.chmod(path+"/fulltext%i"%i,0755)
391: return "fulltext%i"%i
392:
393: def addImages(self,path):
394: """Imagesfolder to the path"""
395: self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing pageimages files
396: self.REQUEST.SESSION['path']=path
1.12 dwinter 397: newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_addImages').__of__(self)
1.1 dwinter 398: return newtemplate()
399:
400: def addImages2(self):
1.2 dwinter 401:
1.1 dwinter 402: self.image_folder_name=self.REQUEST['folder_name']
403: #print self.REQUEST['folder_name']
404: self.content_description=self.REQUEST['content_description']
405: #self.path=self.REQUEST.SESSION['path']
406:
407:
408: self.content_type='images'
409: addDirsToIndexMeta(self.REQUEST.SESSION['path'],self.image_folder_name,self.content_description,self.content_type)
410: self.REQUEST.SESSION['path']=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1)
1.12 dwinter 411: newtemplate=PageTemplateFile('Products/OSA_system/zpt/OSAS_upload2').__of__(self)
1.1 dwinter 412: return newtemplate()
1.2 dwinter 413:
1.1 dwinter 414:
415:
416: def addDirsToIndexMeta(path,folder_name,content_description,content_type):
417: #f=file(path+"/index.meta",r)
418: dom=xml.dom.minidom.parse(path+"/index.meta")
419: node=dom.getElementsByTagName('resource')[0] #getNode
420:
421: subnode=dom.createElement('dir')
422:
423: namenode=dom.createElement('name')
424: namenodetext=dom.createTextNode(folder_name)
425: namenode.appendChild(namenodetext)
426: subnode.appendChild(namenode)
427:
428: descriptionnode=dom.createElement('description')
429: descriptionnodetext=dom.createTextNode(content_description)
430: descriptionnode.appendChild(descriptionnodetext)
431: subnode.appendChild(descriptionnode)
432:
433: contentnode=dom.createElement('content-type')
434: contentnodetext=dom.createTextNode(content_type)
435: contentnode.appendChild(contentnodetext)
436: subnode.appendChild(contentnode)
437:
438: node.appendChild(subnode)
439:
440: writefile=file(path+"/index.meta","w")
441: writefile.write(dom.toxml().encode('utf-8'))
442: writefile.close()
443:
1.5 dwinter 444: def readArchimedesXML(folder):
445: """gib URL aus """
446: XML=urllib.urlopen("http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmlcorpusmanifest").read()
447: #print XML
448: dom=xml.dom.minidom.parseString(XML)
449: items=dom.getElementsByTagName('item')
450: dict={}
451:
452: for item in items:
453: #print item.attributes['dir'].value
454: try:
1.6 dwinter 455: dict[item.attributes['dir'].value]=item.attributes['xml'].value
1.5 dwinter 456: #print item.attributes['dir'].value,item.attributes['text'].value
457: except:
458: """nothing"""
459:
460: if dict.has_key(folder):
461: return dict[folder]
462: else:
463: return ""
1.12 dwinter 464:
1.5 dwinter 465:
1.1 dwinter 466:
467:
468: def combineTextImage2(self,path):
469: """erstellt bzw. ändert texttool meta tag"""
470: dom=xml.dom.minidom.parse(path+"/index.meta")
471: node=dom.getElementsByTagName('meta')[0] #getNode
472:
473:
474: subnodelist=node.getElementsByTagName('texttool')
475: if not len(subnodelist)==0: #texttool tag existiert schon, dann löschen
476: subnode=node.removeChild(subnodelist[0])
477: subnode.unlink()
478:
479: subnode=dom.createElement('texttool') #neu erzeugen
480:
481:
482: presentfile=os.listdir(path+"/"+self.REQUEST['presentation'])[0]
483:
484:
485: displaynode=dom.createElement('display')
486: displaynodetext=dom.createTextNode('yes')
487: displaynode.appendChild(displaynodetext)
488: subnode.appendChild(displaynode)
489:
490: if self.REQUEST.has_key('image'):
491: namenode=dom.createElement('image')
492: namenodetext=dom.createTextNode(self.REQUEST['image'])
493: namenode.appendChild(namenodetext)
494: subnode.appendChild(namenode)
495:
496: if self.REQUEST.has_key('text'):
497: textfile=os.listdir(path+"/"+self.REQUEST['text'])[0]
498: textfoldernode=dom.createElement('text')
1.6 dwinter 499: textfoldernodetext=dom.createTextNode(path+"/"+self.REQUEST['text']+"/"+textfile)
1.1 dwinter 500: textfoldernode.appendChild(textfoldernodetext)
501: subnode.appendChild(textfoldernode)
502:
1.5 dwinter 503: if self.REQUEST.has_key('external'):#USE CVS instead of local text
504: textfoldernode=dom.createElement('text')
505: textfoldernodetext=dom.createTextNode(self.REQUEST.SESSION['externxml'])
506: textfoldernode.appendChild(textfoldernodetext)
507: subnode.appendChild(textfoldernode)
508:
1.1 dwinter 509: if self.REQUEST.has_key('pagebreak'):
510: pagebreaknode=dom.createElement('pagebreak')
511: pagebreaknodetext=dom.createTextNode(self.REQUEST['pagebreak'])
512: pagebreaknode.appendChild(pagebreaknodetext)
513: subnode.appendChild(pagebreaknode)
514:
515: if self.REQUEST.has_key('presentation'):
516: presentationnode=dom.createElement('presentation')
517: presentationnodetext=dom.createTextNode(self.REQUEST['presentation']+"/"+presentfile)
518: presentationnode.appendChild(presentationnodetext)
519: subnode.appendChild(presentationnode)
520:
1.8 dwinter 521:
522: if self.REQUEST.has_key('xslt'):
523: if not self.REQUEST['xslt']=="":
524: xsltnode=dom.createElement('xslt')
525: xsltnodetext=dom.createTextNode(self.REQUEST['xslt'])
526: xsltnode.appendChild(xsltnodetext)
527: subnode.appendChild(xsltnode)
528:
1.13 dwinter 529:
1.11 dwinter 530: if self.REQUEST.has_key('thumbtemplate'):
531: if not self.REQUEST['thumbtemplate']=="":
532: xsltnode=dom.createElement('thumbtemplate')
533: xsltnodetext=dom.createTextNode(self.REQUEST['thumbtemplate'])
534: xsltnode.appendChild(xsltnodetext)
535: subnode.appendChild(xsltnode)
536:
537: if self.REQUEST.has_key('topbar'):
538: if not self.REQUEST['topbar']=="":
1.13 dwinter 539: xsltnode=dom.createElement('toptemplate')
1.11 dwinter 540: xsltnodetext=dom.createTextNode(self.REQUEST['topbar'])
541: xsltnode.appendChild(xsltnodetext)
542: subnode.appendChild(xsltnode)
543:
1.13 dwinter 544: if self.REQUEST.has_key('startpage'):
545: if not self.REQUEST['startpage']=="":
546: xsltnode=dom.createElement('startpage')
547: xsltnodetext=dom.createTextNode(self.REQUEST['startpage'])
548: xsltnode.appendChild(xsltnodetext)
549: subnode.appendChild(xsltnode)
550:
551: if self.REQUEST.has_key('project'):
552: if not self.REQUEST['project']=="":
553: xsltnode=dom.createElement('project')
554: xsltnodetext=dom.createTextNode(self.REQUEST['project'])
1.14 dwinter 555: xsltnode.appendChild(xsltnodetext)
556: subnode.appendChild(xsltnode)
1.11 dwinter 557:
1.1 dwinter 558: node.appendChild(subnode)
1.6 dwinter 559:
1.5 dwinter 560: try:
1.6 dwinter 561: node2=node.getElementsByTagName('bib')[0]
562: subs=node2.getElementsByTagName('lang')
563: for sub in subs:
564: print "X",sub
565: node2.removeChild(sub)
1.5 dwinter 566: except:
567: """nothing"""
568: try:
569: main=dom.getElementsByTagName('bib')[0]
570: node=dom.createElement('lang')
571: textnode=dom.createTextNode(self.REQUEST['lang'])
1.6 dwinter 572: print "LANG:",lang
1.5 dwinter 573: node.appendChild(textnode)
574: main.appendChild(node)
575: except:
1.6 dwinter 576: try:
577: subs=dom.getElementsByTagName('lang')
578: main=dom.getElementsByTagName('resource')[0]
579: for sub in subs:
580: main.removeChild(sub)
581: except:
582: """nothing"""
583:
584: try:
585: main=dom.getElementsByTagName('resource')[0]
586: node=dom.createElement('lang')
587: textnode=dom.createTextNode(self.REQUEST['lang'])
588: #print "LANG:",self.REQUEST['lang']
589: node.appendChild(textnode)
590: main.appendChild(node)
591: except:
592: """nothing"""
593:
1.1 dwinter 594: writefile=file(path+"/index.meta","w")
595: writefile.write(dom.toxml().encode('utf-8'))
596: writefile.close()
597:
598:
599:
1.2 dwinter 600: urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines()
1.1 dwinter 601: #return urllib.quote("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path)
1.7 dwinter 602: os.popen("ssh 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']))
1.3 dwinter 603:
604: #return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+self.REQUEST['path'])
1.1 dwinter 605:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>