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