Annotation of OSAS/OSA_system/OSAS_add.py~, revision 1.1

1.1     ! dwinter     1: 
        !             2: 
        !             3: 
        !             4: #BAUSTELLE
        !             5: 
        !             6: 
        !             7: """Methoden zum hinzufügen von Dokumenten ins Archiv"""
        !             8: import archive
        !             9: import os
        !            10: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
        !            11: from Products.PageTemplates.PageTemplate import PageTemplate
        !            12: import string
        !            13: import urllib
        !            14: import xml.dom.minidom
        !            15: 
        !            16: #referencetypes=['Book','Bic','Journal Article','Manuscript','jiji']
        !            17: 
        !            18: import re
        !            19: def add(self, no_upload=0):
        !            20:         """ Add metadata or metadata and documents to the repository
        !            21:         no_upload=0 kein upload sonst upload von documententen"""
        !            22:         
        !            23:    self.referencetypes=['Book','Journal Article','Manuscript']
        !            24:    """Aufruf der ersten Seite für Neueintraege"""
        !            25:    newtemplate=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/new').__of__(self)
        !            26:    self.REQUEST.SESSION['path']=self.REQUEST['path']
        !            27:    if self.REQUEST.has_key('no_upload'):
        !            28:        self.REQUEST.SESSION['no_upload']=self.REQUEST['no_upload']
        !            29:    else:
        !            30:        if self.REQUEST.SESSION.has_key('no_upload'):
        !            31:            del self.REQUEST.SESSION['no_upload']
        !            32:            
        !            33:    return newtemplate()
        !            34:    return self.referencetypes
        !            35: 
        !            36: 
        !            37: 
        !            38: def getISO():
        !            39:    f=file('/usr/local/mpiwg/Zope/Extensions/iso639-1.inc','r').readlines()
        !            40:    ret={}
        !            41:    for lineraw in f:
        !            42:        line=lineraw.encode('ascii','replace')
        !            43:        value=string.split(line,'\t')[0].encode('ascii','replace')
        !            44:        key=string.split(line,'\t')[1].encode('ascii','replace')
        !            45:        
        !            46:        ret[key]=value
        !            47:    return ret
        !            48: 
        !            49: def add2(self):
        !            50:    self.reftype=self.REQUEST['Reference Type']
        !            51:    self.REQUEST.SESSION['reftype']=self.reftype    
        !            52:    self.bibdata={'Book':['author','year','title','series editor','series title','series volume','number of pages','city','publisher','edition','number of volumes','translator','ISBN ISSN'],
        !            53: 'Journal Article':['author','year','title','journal','volume','issue','pages','alternate journal','call number'],
        !            54: 'Manuscript':['author','year','title','location','signature','pages','editorial remarks','description','keywords']}
        !            55: 
        !            56:    self.fields=self.bibdata[self.reftype]
        !            57:    self.isolist=getISO()
        !            58:    #list=self.isolist.keys()[0:]
        !            59:    #print list
        !            60:    #print list.sort()
        !            61:    
        !            62:    newtemplate=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/bibdata').__of__(self)
        !            63:    return newtemplate()
        !            64:    #return self.fields
        !            65: 
        !            66: 
        !            67: def parse_query_string(str):
        !            68:    queries={}
        !            69:    key=""
        !            70:    value=""
        !            71:    tmp=""
        !            72:    toggle="key"
        !            73:    str=urllib.unquote(str)
        !            74:    for i in str:
        !            75:        if i=="=":
        !            76:            key=tmp
        !            77:            toggle="value"              
        !            78:            tmp=""
        !            79:        elif i=="&":
        !            80:            queries[key]=tmp
        !            81:            tmp=""
        !            82:            toggle="key"
        !            83:        else:
        !            84:            if toggle=="key":
        !            85:                if i=="+" : i="-"
        !            86:            else:
        !            87:                if i=="+" : i=" "
        !            88:            tmp=tmp+i
        !            89:    queries[key]=tmp
        !            90:    return queries
        !            91:    
        !            92: def add3(self):
        !            93:    """Foldername"""
        !            94:    metadata=parse_query_string(self.REQUEST['QUERY_STRING'])
        !            95:    self.REQUEST.SESSION['metadata']=metadata
        !            96:    vorschlag_naming=metadata['author'][:5]+"_"+metadata['title'][:5]+"_"+metadata['year']
        !            97:    self.vorschlag_naming=vorschlag_naming.decode('ascii','ignore')
        !            98:    if self.REQUEST.SESSION.has_key('no_upload'):
        !            99:        self.REQUEST.SESSION['folder_name']=self.REQUEST.SESSION['path']
        !           100:        return add5(self)
        !           101:    else:
        !           102:        newtemplate=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/naming').__of__(self)
        !           103:        return newtemplate()
        !           104:    
        !           105: 
        !           106: def add4(self):
        !           107:    self.path=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1)
        !           108:    
        !           109:    self.folder_name=self.REQUEST['folder_name']
        !           110:    # netx has to be changed -> error if back button is used!!
        !           111:    self.REQUEST.SESSION['path']=self.REQUEST.SESSION['path']+"/"+self.REQUEST['folder_name']
        !           112: 
        !           113: 
        !           114:    self.REQUEST.SESSION['folder_name']=self.folder_name
        !           115:    self.image_folder_name="pageimg"
        !           116:    newtemplate=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/upload').__of__(self)
        !           117:    return newtemplate()
        !           118:    
        !           119: def add5(self):
        !           120:    """ADD INDEX.META"""
        !           121:    newtemplate=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/metadata').__of__(self)
        !           122:    return newtemplate()
        !           123: 
        !           124: def add6(self):
        !           125:    metadata=parse_query_string(self.REQUEST['QUERY_STRING'])
        !           126:    metadata['archive-path']=os.path.split(self.REQUEST.SESSION['path'])[0]
        !           127:    #metadata['folder_name']=self.REQUEST.SESSION['folder_name']
        !           128:    metadata['folder_name']=os.path.split(self.REQUEST.SESSION['path'])[1]
        !           129:    metadata['content-type']="scanned document"
        !           130:    self.reftype=self.REQUEST.SESSION['reftype']
        !           131:    self.REQUEST.SESSION['add_metadata']=metadata   
        !           132:    self.add_metadata=metadata
        !           133:    self.metadata=self.REQUEST.SESSION['metadata']
        !           134:    self.metadataprint=""
        !           135:    for tag in self.metadata.keys():
        !           136:        self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"</"+tag+">\n"
        !           137: 
        !           138:    newtemplate=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/index_meta').__of__(self)
        !           139:    newtemplate.content_type="text/plain"
        !           140:    renderxml = newtemplate()
        !           141:    if self.REQUEST.SESSION.has_key('no_upload'):
        !           142:        metapath=self.REQUEST.SESSION['path']+"/index.meta"
        !           143:    else:
        !           144:        metapath=self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name']+"/index.meta"
        !           145:    
        !           146:    f=open(metapath,'w')
        !           147:    f.writelines(renderxml)
        !           148:    f.close()
        !           149:    os.chmod(metapath,0644)
        !           150:    if self.REQUEST.SESSION.has_key('no_upload'):
        !           151:        
        !           152:        #newtemplate2=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/done',"text/html").__of__(self)
        !           153:        return self.REQUEST.response.redirect("storage/storefiles?path="+self.REQUEST.SESSION['path'])
        !           154:    else:
        !           155:        self.viewpath=re.search(r"/mpiwg/online/(.*)",self.add_metadata['archive-path']).group(1) 
        !           156:        newtemplate2=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/saved',"text/html").__of__(self)
        !           157:    
        !           158:        
        !           159:        newtemplate2.content_type="text/html"
        !           160:        self.REQUEST.response.setHeader('Content-Type','text/html')
        !           161:    
        !           162: 
        !           163:        return newtemplate2()
        !           164: 
        !           165: 
        !           166: from time import localtime,strftime
        !           167: 
        !           168: def date(self):
        !           169:    return strftime("%d.%m.%Y",localtime()) 
        !           170: 
        !           171: 
        !           172: def addPresentation(self,path):
        !           173:    """add presentation to the path"""
        !           174:    
        !           175:    dom=xml.dom.minidom.parse(path+"/index.meta")
        !           176: 
        !           177:    try:
        !           178:        author=archive.getText(dom.getElementsByTagName('author')[0].childNodes)
        !           179:    except:
        !           180:        author=archive.getText(dom.getElementsByTagName('Author')[0].childNodes)
        !           181:    title=archive.getText(dom.getElementsByTagName('title')[0].childNodes)
        !           182:    try:
        !           183:        date=archive.getText(dom.getElementsByTagName('year')[0].childNodes)
        !           184:    except:
        !           185:        try:
        !           186:            date=archive.getText(dom.getElementsByTagName('Year')[0].childNodes)
        !           187:        except:
        !           188:            date=archive.getText(dom.getElementsByTagName('date')[0].childNodes)
        !           189:    i=1
        !           190:    while os.path.exists("%02d-presentation"%i):
        !           191:        i+=1
        !           192:            self.REQUEST.SESSION['presentationname']="%02d-presentation"%i
        !           193:    self.REQUEST.SESSION['path']=path
        !           194:    self.REQUEST.SESSION['xmlvorschlag']="""<info>
        !           195:    <author>%s</author>
        !           196:    <title>%s</title>
        !           197:    <date>%s</date>
        !           198:    <display>yes</display>
        !           199: </info>"""%(author,title,date)
        !           200:    
        !           201:    newtemplate=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/addPresentation').__of__(self)
        !           202:    return newtemplate()
        !           203: 
        !           204: def addPresentation2(self):
        !           205:    """add presentation """
        !           206:    self.folder_name=self.REQUEST['folder_name']
        !           207:    #print self.REQUEST['folder_name']
        !           208:    self.content_description=self.REQUEST['content_description']
        !           209: 
        !           210:    self.path=self.REQUEST.SESSION['path']
        !           211: 
        !           212:    if not self.REQUEST.has_key('fileupload'):
        !           213:        self.xmlinfo=self.REQUEST['xmltext']
        !           214:        file_name="info.xml"
        !           215: 
        !           216:    else:
        !           217:        file_name=self.REQUEST['fileupload'].filename
        !           218:        self.xmlinfo=self.REQUEST.form['fileupload'].read()
        !           219:        # hack dW
        !           220:        file_name="info.xml"
        !           221:        self.xmlinfo=self.REQUEST['xmltext']
        !           222:    try:
        !           223:        os.mkdir(self.path+"/"+self.folder_name)
        !           224:    except:
        !           225:        """nothing"""
        !           226:    print "NAME:",file_name
        !           227:    f=open(self.path+"/"+self.folder_name+"/"+file_name,"w")
        !           228:    f.write(self.xmlinfo)
        !           229:    f.close()
        !           230:    os.chmod(self.path+"/"+self.folder_name,0755)
        !           231:    os.chmod(self.path+"/"+self.folder_name+"/"+file_name,0644)
        !           232:    addDirsToIndexMeta(self.path,self.folder_name,self.content_description,'presentation')
        !           233:    
        !           234:    return self.REQUEST.RESPONSE.redirect('storefiles?path='+self.path)
        !           235: 
        !           236: def addText(self,path):
        !           237:    """add fulltext to the path"""
        !           238:    self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing text files
        !           239:    self.REQUEST.SESSION['path']=path
        !           240:    newtemplate=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/addText').__of__(self)
        !           241:    return newtemplate()
        !           242: 
        !           243: def addText2(self):
        !           244:    self.folder_name=self.REQUEST['folder_name']
        !           245:    #print self.REQUEST['folder_name']
        !           246:    self.content_description=self.REQUEST['content_description']
        !           247:    self.path=self.REQUEST.SESSION['path']
        !           248:    self.file_name=self.REQUEST['fileupload'].filename
        !           249:    self.file=self.REQUEST.form['fileupload'].read()
        !           250:    os.mkdir(self.path+"/"+self.folder_name)
        !           251:    f=open(self.path+"/"+self.folder_name+"/"+self.file_name,"w")
        !           252:    f.write(self.file)
        !           253:    f.close()
        !           254:    os.chmod(self.path+"/"+self.folder_name,0755)
        !           255:    os.chmod(self.path+"/"+self.folder_name+"/"+self.file_name,0644)
        !           256:    addDirsToIndexMeta(self.path,self.folder_name,self.content_description,'fulltext')
        !           257: 
        !           258:    return self.REQUEST.RESPONSE.redirect('storefiles?path='+self.path)
        !           259: 
        !           260: def addTextExternal(self,path,texturl,version):
        !           261:    """hinzufügen eines externen textes"""
        !           262:    try: #neue text version einlesen
        !           263:        texttemp=urllib.urlopen(texturl).readlines()
        !           264:        text=""
        !           265:        for line in texttemp:
        !           266:            text=text+line
        !           267:    except: #fehler beim lesen des textes
        !           268:        return "ERROR: cannot read: %s"%texturl
        !           269:    if TextExternalError(text): #kein xml header
        !           270:        return "ERROR: cannot read: %s"%texturl, "received:",text 
        !           271:    textpath=getNewTextPath(path) #erzeuge neuen Ornder für den Text
        !           272:    splitted=string.split(texturl,"/")
        !           273:    name=splitted[len(splitted)-1] #Name des XML-files
        !           274:    try:
        !           275:        writefile=file(path+"/"+textpath+"/"+name,"w")
        !           276:    except:
        !           277:        return"ERROR: cannot write: %s"%path+"/"+textpath+"/"+name
        !           278:    writefile.write(text)
        !           279:    writefile.close()
        !           280:    os.chmod(path+"/"+textpath+"/"+name,0644)
        !           281: 
        !           282:    #add new file to XML
        !           283:    dom=xml.dom.minidom.parse(path+"/index.meta")
        !           284:    node=dom.getElementsByTagName('resource')[0] #getNode
        !           285: 
        !           286:    subnode=dom.createElement('dir')
        !           287:    
        !           288:    namenode=dom.createElement('name')
        !           289:    namenodetext=dom.createTextNode(textpath)
        !           290:    namenode.appendChild(namenodetext)
        !           291:    subnode.appendChild(namenode)
        !           292:        
        !           293:    descriptionnode=dom.createElement('description')
        !           294:    descriptionnodetext=dom.createTextNode('archimedes text:'+version)
        !           295:    descriptionnode.appendChild(descriptionnodetext)
        !           296:    subnode.appendChild(descriptionnode)
        !           297: 
        !           298:    contentnode=dom.createElement('content-type')
        !           299:    contentnodetext=dom.createTextNode('fulltext')
        !           300:    contentnode.appendChild(contentnodetext)
        !           301:    subnode.appendChild(contentnode)
        !           302:    
        !           303:    node.appendChild(subnode)
        !           304: 
        !           305:    writefile=file(path+"/index.meta","w")
        !           306:    writefile.write(dom.toxml().encode('utf-8'))
        !           307:    writefile.close()
        !           308: 
        !           309:    #change texttool tag
        !           310:    dom=xml.dom.minidom.parse(path+"/index.meta")
        !           311:    node=dom.getElementsByTagName('meta')[0] #getNode
        !           312: 
        !           313:    try: #texttool existiert schon
        !           314:        subnode=node.getElementsByTagName('texttool')[0]
        !           315:    except: #wenn nicht Fehler ausgeben
        !           316:        return "ERROR:no presentation configured yet, user Web Front End to do so!"
        !           317:    
        !           318: 
        !           319:    try:
        !           320:        texttoolnodelist=subnode.getElementsByTagName('text')
        !           321:    
        !           322:        if not len(texttoolnodelist)==0: #texttool tag existiert schon, dann löschen
        !           323:            subsubnode=subnode.removeChild(texttoolnodelist[0])
        !           324:            subsubnode.unlink()
        !           325:    except:
        !           326:        """nothing"""
        !           327:    # text neu anlegen
        !           328:    textfoldernode=dom.createElement('text')
        !           329:    textfoldernodetext=dom.createTextNode(textpath+"/"+name)
        !           330:    textfoldernode.appendChild(textfoldernodetext)
        !           331:    subnode.appendChild(textfoldernode)
        !           332: 
        !           333:    #index.meta ausgeben
        !           334:    writefile=file(path+"/index.meta","w")
        !           335:    writefile.write(dom.toxml().encode('utf-8'))
        !           336:    writefile.close()
        !           337:    
        !           338:    #registrieren
        !           339:    print urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines()
        !           340:    
        !           341:    return "DONE:"+textpath+"/"+name
        !           342: 
        !           343: def TextExternalError(text):
        !           344:    firsts=text[0:10]
        !           345:    print firsts
        !           346:    try:
        !           347:        match=re.search(r".*<?xml.*",firsts)
        !           348:    except:
        !           349:        return 1
        !           350:    return 0
        !           351: 
        !           352: def getNewTextPath(path):
        !           353:    i=1
        !           354:    while os.path.exists(path+"/fulltext%i"%i):
        !           355:        i+=1
        !           356:    os.mkdir(path+"/fulltext%i"%i)
        !           357:    os.chmod(path+"/fulltext%i"%i,0755)
        !           358:    return "fulltext%i"%i
        !           359: 
        !           360: def addImages(self,path):
        !           361:    """Imagesfolder to the path"""
        !           362:    self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing pageimages files
        !           363:    self.REQUEST.SESSION['path']=path
        !           364:    newtemplate=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/addImages').__of__(self)
        !           365:    return newtemplate()
        !           366: 
        !           367: def addImages2(self):
        !           368:    self.image_folder_name=self.REQUEST['folder_name']
        !           369:    #print self.REQUEST['folder_name']
        !           370:    self.content_description=self.REQUEST['content_description']
        !           371:    self.path=self.REQUEST.SESSION['path']
        !           372:    
        !           373:    
        !           374:    self.content_type='images'
        !           375:    addDirsToIndexMeta(self.path,self.image_folder_name,self.content_description,self.content_type)
        !           376:    self.path=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1)
        !           377:    newtemplate=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/upload2').__of__(self)
        !           378:    return newtemplate()
        !           379: 
        !           380: 
        !           381: def addDirsToIndexMeta(path,folder_name,content_description,content_type):
        !           382:    #f=file(path+"/index.meta",r)
        !           383:    dom=xml.dom.minidom.parse(path+"/index.meta")
        !           384:    node=dom.getElementsByTagName('resource')[0] #getNode
        !           385: 
        !           386:    subnode=dom.createElement('dir')
        !           387:    
        !           388:    namenode=dom.createElement('name')
        !           389:    namenodetext=dom.createTextNode(folder_name)
        !           390:    namenode.appendChild(namenodetext)
        !           391:    subnode.appendChild(namenode)
        !           392:        
        !           393:    descriptionnode=dom.createElement('description')
        !           394:    descriptionnodetext=dom.createTextNode(content_description)
        !           395:    descriptionnode.appendChild(descriptionnodetext)
        !           396:    subnode.appendChild(descriptionnode)
        !           397: 
        !           398:    contentnode=dom.createElement('content-type')
        !           399:    contentnodetext=dom.createTextNode(content_type)
        !           400:    contentnode.appendChild(contentnodetext)
        !           401:    subnode.appendChild(contentnode)
        !           402:    
        !           403:    node.appendChild(subnode)
        !           404: 
        !           405:    writefile=file(path+"/index.meta","w")
        !           406:    writefile.write(dom.toxml().encode('utf-8'))
        !           407:    writefile.close()
        !           408: 
        !           409: def combineTextImage(self,path):
        !           410:    """gibt input formular zur erstellung des texttools meta tag aus"""
        !           411:    files = os.listdir(path)
        !           412:    
        !           413:    texts=[]
        !           414:    imagefolders=[]
        !           415:    presentationfolders=[]
        !           416:    
        !           417:    for filename in files:
        !           418:        
        !           419:        if archive.isdigilib2(path+"/"+filename):
        !           420:            imagefolders.append(filename)
        !           421:            
        !           422:        if archive.isFullText(path,filename):
        !           423:            texts.append(filename)
        !           424:        if archive.isPresentation(path,filename):
        !           425:            presentationfolders.append(filename)
        !           426:    
        !           427:    dom=xml.dom.minidom.parse(path+"/index.meta")
        !           428:    try:
        !           429:        filelanguage=archive.getText(dom.getElementsByTagName('lang')[0].childNodes)
        !           430:    except:
        !           431:        filelanguage=""
        !           432:    self.REQUEST.SESSION['isolist']=getISO()
        !           433:    self.REQUEST.SESSION['path']=path
        !           434:    self.REQUEST.SESSION['texts']=texts
        !           435:    self.REQUEST.SESSION['imagefolders']=imagefolders
        !           436:    self.REQUEST.SESSION['presentationfolders']=presentationfolders
        !           437:    self.REQUEST.SESSION['filelanguage']=filelanguage
        !           438:    newtemplate=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/ImageandText').__of__(self)
        !           439:    return newtemplate()
        !           440:    
        !           441: 
        !           442: 
        !           443: def combineTextImage2(self,path):
        !           444:    """erstellt bzw. ändert texttool meta tag"""
        !           445:    dom=xml.dom.minidom.parse(path+"/index.meta")
        !           446:    node=dom.getElementsByTagName('meta')[0] #getNode
        !           447: 
        !           448: 
        !           449:    subnodelist=node.getElementsByTagName('texttool')
        !           450:    if not len(subnodelist)==0: #texttool tag existiert schon, dann löschen
        !           451:        subnode=node.removeChild(subnodelist[0])
        !           452:        subnode.unlink()
        !           453: 
        !           454:    subnode=dom.createElement('texttool') #neu erzeugen
        !           455: 
        !           456:    
        !           457:    presentfile=os.listdir(path+"/"+self.REQUEST['presentation'])[0]
        !           458:    
        !           459: 
        !           460:    displaynode=dom.createElement('display')
        !           461:    displaynodetext=dom.createTextNode('yes')
        !           462:    displaynode.appendChild(displaynodetext)
        !           463:    subnode.appendChild(displaynode)
        !           464:    
        !           465:    if self.REQUEST.has_key('image'):   
        !           466:        namenode=dom.createElement('image')
        !           467:        namenodetext=dom.createTextNode(self.REQUEST['image'])
        !           468:        namenode.appendChild(namenodetext)
        !           469:        subnode.appendChild(namenode)
        !           470:        
        !           471:    if self.REQUEST.has_key('text'):            
        !           472:        textfile=os.listdir(path+"/"+self.REQUEST['text'])[0]
        !           473:        textfoldernode=dom.createElement('text')
        !           474:        textfoldernodetext=dom.createTextNode(self.REQUEST['text']+"/"+textfile)
        !           475:        textfoldernode.appendChild(textfoldernodetext)
        !           476:        subnode.appendChild(textfoldernode)
        !           477: 
        !           478:    if self.REQUEST.has_key('pagebreak'):   
        !           479:        pagebreaknode=dom.createElement('pagebreak')
        !           480:        pagebreaknodetext=dom.createTextNode(self.REQUEST['pagebreak'])
        !           481:        pagebreaknode.appendChild(pagebreaknodetext)
        !           482:        subnode.appendChild(pagebreaknode)
        !           483: 
        !           484:    if self.REQUEST.has_key('presentation'):    
        !           485:        presentationnode=dom.createElement('presentation')
        !           486:        presentationnodetext=dom.createTextNode(self.REQUEST['presentation']+"/"+presentfile)
        !           487:        presentationnode.appendChild(presentationnodetext)
        !           488:        subnode.appendChild(presentationnode)
        !           489:    
        !           490:    node.appendChild(subnode)
        !           491: 
        !           492:    # node=dom.getElementsByTagName('lang')[0] #getNode
        !           493: 
        !           494:    writefile=file(path+"/index.meta","w")
        !           495:    writefile.write(dom.toxml().encode('utf-8'))
        !           496:    writefile.close()
        !           497:    
        !           498:    
        !           499: 
        !           500:    print urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines()
        !           501:    #return urllib.quote("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path)
        !           502:    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']))
        !           503:    return self.REQUEST.RESPONSE.redirect('storefiles?path='+self.REQUEST['path'])
        !           504:    

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