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

1.1     ! dwinter     1: #BAUSTELLE
        !             2: 
        !             3: 
        !             4: """Methoden zum hinzufügen von Dokumenten ins Archiv"""
        !             5: import archive
        !             6: import os
        !             7: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
        !             8: from Products.PageTemplates.PageTemplate import PageTemplate
        !             9: import string
        !            10: import urllib
        !            11: import xml.dom.minidom
        !            12: 
        !            13: #referencetypes=['Book','Bic','Journal Article','Manuscript','jiji']
        !            14: 
        !            15: import re
        !            16: def add(self, no_upload=0):
        !            17:         """ Add metadata or metadata and documents to the repository
        !            18:         no_upload=0 kein upload sonst upload von documententen"""
        !            19:         
        !            20:    self.referencetypes=['Book','Journal Article','Manuscript']
        !            21: 
        !            22:    newtemplate=PageTemplateFile('products/OSA_system/OSAS_add_new').__of__(self)
        !            23:         self.REQUEST.SESSION['path']=self.REQUEST['path']
        !            24:    if no_upload==0:
        !            25:        self.REQUEST.SESSION['no_upload']='yes'
        !            26:    else:
        !            27:        if self.REQUEST.SESSION.has_key('no_upload'):
        !            28:            del self.REQUEST.SESSION['no_upload']
        !            29:            
        !            30:    return newtemplate()
        !            31:    return self.referencetypes
        !            32: 
        !            33: 
        !            34: 
        !            35: def getISO():
        !            36:         f=file('/Users/dwinter/Documents/Projekte/OSAS/OSA_system/iso639-1.inc','r').readlines()
        !            37:    ret={}
        !            38:    for lineraw in f:
        !            39:        line=lineraw.encode('ascii','replace')
        !            40:        value=string.split(line,'\t')[0].encode('ascii','replace')
        !            41:        key=string.split(line,'\t')[1].encode('ascii','replace')
        !            42:        
        !            43:        ret[key]=value
        !            44:         return ret
        !            45: 
        !            46: def add2(self):
        !            47:    self.reftype=self.REQUEST['Reference Type']
        !            48:    self.REQUEST.SESSION['reftype']=self.reftype    
        !            49:    self.bibdata={'Book':['author','year','title','series editor','series title','series volume','number of pages','city','publisher','edition','number of volumes','translator','ISBN ISSN'],
        !            50: 'Journal Article':['author','year','title','journal','volume','issue','pages','alternate journal','call number'],
        !            51: 'Manuscript':['author','year','title','location','signature','pages','editorial remarks','description','keywords']}
        !            52: 
        !            53:    self.fields=self.bibdata[self.reftype]
        !            54:    self.isolist=getISO()
        !            55:         #listed=[ x for x in self.isolist.keys()]
        !            56:    #print listed
        !            57:         #sorted=listed.sort()
        !            58:    #print sorted
        !            59:    
        !            60:    newtemplate=PageTemplateFile('products/OSA_system/OSAS_add_bibdata').__of__(self)
        !            61:    return newtemplate()
        !            62:    #return self.fields
        !            63: 
        !            64: 
        !            65: def parse_query_string(str):
        !            66:    queries={}
        !            67:    key=""
        !            68:    value=""
        !            69:    tmp=""
        !            70:    toggle="key"
        !            71:    str=urllib.unquote(str)
        !            72:    for i in str:
        !            73:        if i=="=":
        !            74:            key=tmp
        !            75:            toggle="value"              
        !            76:            tmp=""
        !            77:        elif i=="&":
        !            78:            queries[key]=tmp
        !            79:            tmp=""
        !            80:            toggle="key"
        !            81:        else:
        !            82:            if toggle=="key":
        !            83:                if i=="+" : i="-"
        !            84:            else:
        !            85:                if i=="+" : i=" "
        !            86:            tmp=tmp+i
        !            87:    queries[key]=tmp
        !            88:    return queries
        !            89:    
        !            90: def add3(self):
        !            91:    """Foldername"""
        !            92:    metadata=parse_query_string(self.REQUEST['QUERY_STRING'])
        !            93:    self.REQUEST.SESSION['metadata']=metadata
        !            94:    vorschlag_naming=metadata['author'][:5]+"_"+metadata['title'][:5]+"_"+metadata['year']
        !            95:    self.vorschlag_naming=vorschlag_naming.decode('ascii','ignore')
        !            96:    if self.REQUEST.SESSION.has_key('no_upload'):
        !            97:        self.REQUEST.SESSION['folder_name']=self.REQUEST.SESSION['path']
        !            98:        return add5(self)
        !            99:    else:
        !           100:        newtemplate=PageTemplateFile('products/OSA_system/OSAS_add_naming').__of__(self)
        !           101:        return newtemplate()
        !           102:    
        !           103: 
        !           104: def add4(self):
        !           105:    self.path=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1)
        !           106:    
        !           107:    self.folder_name=self.REQUEST['folder_name']
        !           108:    # netx has to be changed -> error if back button is used!!
        !           109:    self.REQUEST.SESSION['path']=self.REQUEST.SESSION['path']+"/"+self.REQUEST['folder_name']
        !           110: 
        !           111: 
        !           112:    self.REQUEST.SESSION['folder_name']=self.folder_name
        !           113:    self.image_folder_name="pageimg"
        !           114:    newtemplate=PageTemplateFile('products/OSA_system/OSAS_upload').__of__(self)
        !           115:    return newtemplate()
        !           116:    
        !           117: def add5(self):
        !           118:    """ADD INDEX.META"""
        !           119:    newtemplate=PageTemplateFile('products/OSA_system/OSAS_add_metadata').__of__(self)
        !           120:    return newtemplate()
        !           121: 
        !           122: def add6(self):
        !           123:    metadata=parse_query_string(self.REQUEST['QUERY_STRING'])
        !           124:    metadata['archive-path']=os.path.split(self.REQUEST.SESSION['path'])[0]
        !           125:    #metadata['folder_name']=self.REQUEST.SESSION['folder_name']
        !           126:    metadata['folder_name']=os.path.split(self.REQUEST.SESSION['path'])[1]
        !           127:    metadata['content-type']="scanned document"
        !           128:    self.reftype=self.REQUEST.SESSION['reftype']
        !           129:    self.REQUEST.SESSION['add_metadata']=metadata   
        !           130:    self.add_metadata=metadata
        !           131:    self.metadata=self.REQUEST.SESSION['metadata']
        !           132:    self.metadataprint=""
        !           133:    for tag in self.metadata.keys():
        !           134:        self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"</"+tag+">\n"
        !           135: 
        !           136:    newtemplate=PageTemplateFile('products/OSA_system/index_meta').__of__(self)
        !           137:    newtemplate.content_type="text/plain"
        !           138:    renderxml = newtemplate()
        !           139:    if self.REQUEST.SESSION.has_key('no_upload'):
        !           140:        metapath=self.REQUEST.SESSION['path']+"/index.meta"
        !           141:    else:
        !           142:        metapath=self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name']+"/index.meta"
        !           143:    
        !           144:    f=open(metapath,'w')
        !           145:    f.writelines(renderxml)
        !           146:    f.close()
        !           147:    os.chmod(metapath,0644)
        !           148:    if self.REQUEST.SESSION.has_key('no_upload'):
        !           149:        
        !           150:        #newtemplate2=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/done',"text/html").__of__(self)
        !           151:        return self.REQUEST.response.redirect(self.REQUEST['URL2']+"?path="+self.REQUEST.SESSION['path'])
        !           152:    else:
        !           153:                 #print self.add_metadata['archive-path']
        !           154:        self.viewpath=re.search(r"/mpiwg/online/(.*)",self.add_metadata['archive-path']).group(1) 
        !           155:        newtemplate2=PageTemplateFile('products/OSA_system/OSAS_saved').__of__(self)
        !           156:    
        !           157:        
        !           158:        newtemplate2.content_type="text/html"
        !           159:        self.REQUEST.response.setHeader('Content-Type','text/html')
        !           160:    
        !           161: 
        !           162:        return newtemplate2()
        !           163: 
        !           164: 
        !           165: from time import localtime,strftime
        !           166: 
        !           167: def date(self):
        !           168:    return strftime("%d.%m.%Y",localtime()) 
        !           169: 
        !           170: 
        !           171: def addPresentation(self,path):
        !           172:    """add presentation to the path"""
        !           173:    
        !           174:    dom=xml.dom.minidom.parse(path+"/index.meta")
        !           175:    
        !           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('products/OSA_system/addPresentation').__of__(self)
        !           202:    return newtemplate()
        !           203: 
        !           204: def addPresentation2(self):
        !           205:    """add presentation """
        !           206:    folder_name=self.REQUEST['folder_name']
        !           207:    #print self.REQUEST['folder_name']
        !           208:    content_description=self.REQUEST['content_description']
        !           209: 
        !           210:    path=self.REQUEST.SESSION['path']
        !           211: 
        !           212:    if not self.REQUEST.has_key('fileupload'):
        !           213:        xmlinfo=self.REQUEST['xmltext']
        !           214:        file_name="info.xml"
        !           215: 
        !           216:    else:
        !           217:        file_name=self.REQUEST['fileupload'].filename
        !           218:        xmlinfo=self.REQUEST.form['fileupload'].read()
        !           219:        # hack Multipart auswertung funktioniert nicht ausser bei mozilla
        !           220:        file_name="info.xml"
        !           221:        xmlinfo=self.REQUEST['xmltext']
        !           222:    try:
        !           223:        os.mkdir(path+"/"+folder_name)
        !           224:    except:
        !           225:        """nothing"""
        !           226:    print "NAME:",file_name
        !           227:    f=open(path+"/"+folder_name+"/"+file_name,"w")
        !           228:    f.write(xmlinfo)
        !           229:    f.close()
        !           230:    os.chmod(path+"/"+folder_name,0755)
        !           231:    os.chmod(path+"/"+folder_name+"/"+file_name,0644)
        !           232:    addDirsToIndexMeta(path,folder_name,content_description,'presentation')
        !           233:    
        !           234:    return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+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('products/OSA_system/addText').__of__(self)
        !           241:    return newtemplate()
        !           242: 
        !           243: def addText2(self):
        !           244:    folder_name=self.REQUEST['folder_name']
        !           245:    #print self.REQUEST['folder_name']
        !           246:    content_description=self.REQUEST['content_description']
        !           247:    path=self.REQUEST.SESSION['path']
        !           248:    file_name=self.REQUEST['fileupload'].filename
        !           249:    filedata=self.REQUEST.form['fileupload'].read()
        !           250:    os.mkdir(path+"/"+folder_name)
        !           251:    f=open(path+"/"+folder_name+"/"+file_name,"w")
        !           252:    f.write(filedata)
        !           253:    f.close()
        !           254:    os.chmod(path+"/"+folder_name,0755)
        !           255:    os.chmod(path+"/"+folder_name+"/"+file_name,0644)
        !           256:    addDirsToIndexMeta(path,folder_name,content_description,'fulltext')
        !           257: 
        !           258:    return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+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('products/OSA_system/OSAS_addImages').__of__(self)
        !           365:    return newtemplate()
        !           366: 
        !           367: def addImages2(self):
        !           368:    
        !           369:    self.image_folder_name=self.REQUEST['folder_name']
        !           370:    #print self.REQUEST['folder_name']
        !           371:    self.content_description=self.REQUEST['content_description']
        !           372:    #self.path=self.REQUEST.SESSION['path']
        !           373:    
        !           374:    
        !           375:    self.content_type='images'
        !           376:    addDirsToIndexMeta(self.REQUEST.SESSION['path'],self.image_folder_name,self.content_description,self.content_type)
        !           377:    self.REQUEST.SESSION['path']=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1)
        !           378:    newtemplate=PageTemplateFile('products/OSA_system/OSAS_upload2').__of__(self)
        !           379:    return newtemplate()
        !           380:    
        !           381: 
        !           382: 
        !           383: def addDirsToIndexMeta(path,folder_name,content_description,content_type):
        !           384:    #f=file(path+"/index.meta",r)
        !           385:    dom=xml.dom.minidom.parse(path+"/index.meta")
        !           386:    node=dom.getElementsByTagName('resource')[0] #getNode
        !           387: 
        !           388:    subnode=dom.createElement('dir')
        !           389:    
        !           390:    namenode=dom.createElement('name')
        !           391:    namenodetext=dom.createTextNode(folder_name)
        !           392:    namenode.appendChild(namenodetext)
        !           393:    subnode.appendChild(namenode)
        !           394:        
        !           395:    descriptionnode=dom.createElement('description')
        !           396:    descriptionnodetext=dom.createTextNode(content_description)
        !           397:    descriptionnode.appendChild(descriptionnodetext)
        !           398:    subnode.appendChild(descriptionnode)
        !           399: 
        !           400:    contentnode=dom.createElement('content-type')
        !           401:    contentnodetext=dom.createTextNode(content_type)
        !           402:    contentnode.appendChild(contentnodetext)
        !           403:    subnode.appendChild(contentnode)
        !           404:    
        !           405:    node.appendChild(subnode)
        !           406: 
        !           407:    writefile=file(path+"/index.meta","w")
        !           408:    writefile.write(dom.toxml().encode('utf-8'))
        !           409:    writefile.close()
        !           410: 
        !           411: def combineTextImage(self,path):
        !           412:    """gibt input formular zur erstellung des texttools meta tag aus"""
        !           413:    files = os.listdir(path)
        !           414:    
        !           415:    texts=[]
        !           416:    imagefolders=[]
        !           417:    presentationfolders=[]
        !           418:    
        !           419:    for filename in files:
        !           420:        
        !           421:        if archive.isdigilib2(path+"/"+filename):
        !           422:            imagefolders.append(filename)
        !           423:            
        !           424:        if archive.isFullText(path,filename):
        !           425:            texts.append(filename)
        !           426:        if archive.isPresentation(path,filename):
        !           427:            presentationfolders.append(filename)
        !           428:    
        !           429:    dom=xml.dom.minidom.parse(path+"/index.meta")
        !           430:    try:
        !           431:        filelanguage=archive.getText(dom.getElementsByTagName('lang')[0].childNodes)
        !           432:    except:
        !           433:        filelanguage=""
        !           434:    self.REQUEST.SESSION['isolist']=getISO()
        !           435:    self.REQUEST.SESSION['path']=path
        !           436:    self.REQUEST.SESSION['texts']=texts
        !           437:    self.REQUEST.SESSION['imagefolders']=imagefolders
        !           438:    self.REQUEST.SESSION['presentationfolders']=presentationfolders
        !           439:    self.REQUEST.SESSION['filelanguage']=filelanguage
        !           440:    newtemplate=PageTemplateFile('products/OSA_system/ImageandText').__of__(self)
        !           441:    return newtemplate()
        !           442:    
        !           443: 
        !           444: 
        !           445: def combineTextImage2(self,path):
        !           446:    """erstellt bzw. ändert texttool meta tag"""
        !           447:    dom=xml.dom.minidom.parse(path+"/index.meta")
        !           448:    node=dom.getElementsByTagName('meta')[0] #getNode
        !           449: 
        !           450: 
        !           451:    subnodelist=node.getElementsByTagName('texttool')
        !           452:    if not len(subnodelist)==0: #texttool tag existiert schon, dann löschen
        !           453:        subnode=node.removeChild(subnodelist[0])
        !           454:        subnode.unlink()
        !           455: 
        !           456:    subnode=dom.createElement('texttool') #neu erzeugen
        !           457: 
        !           458:    
        !           459:    presentfile=os.listdir(path+"/"+self.REQUEST['presentation'])[0]
        !           460:    
        !           461: 
        !           462:    displaynode=dom.createElement('display')
        !           463:    displaynodetext=dom.createTextNode('yes')
        !           464:    displaynode.appendChild(displaynodetext)
        !           465:    subnode.appendChild(displaynode)
        !           466:    
        !           467:    if self.REQUEST.has_key('image'):   
        !           468:        namenode=dom.createElement('image')
        !           469:        namenodetext=dom.createTextNode(self.REQUEST['image'])
        !           470:        namenode.appendChild(namenodetext)
        !           471:        subnode.appendChild(namenode)
        !           472:        
        !           473:    if self.REQUEST.has_key('text'):            
        !           474:        textfile=os.listdir(path+"/"+self.REQUEST['text'])[0]
        !           475:        textfoldernode=dom.createElement('text')
        !           476:        textfoldernodetext=dom.createTextNode(self.REQUEST['text']+"/"+textfile)
        !           477:        textfoldernode.appendChild(textfoldernodetext)
        !           478:        subnode.appendChild(textfoldernode)
        !           479: 
        !           480:    if self.REQUEST.has_key('pagebreak'):   
        !           481:        pagebreaknode=dom.createElement('pagebreak')
        !           482:        pagebreaknodetext=dom.createTextNode(self.REQUEST['pagebreak'])
        !           483:        pagebreaknode.appendChild(pagebreaknodetext)
        !           484:        subnode.appendChild(pagebreaknode)
        !           485: 
        !           486:    if self.REQUEST.has_key('presentation'):    
        !           487:        presentationnode=dom.createElement('presentation')
        !           488:        presentationnodetext=dom.createTextNode(self.REQUEST['presentation']+"/"+presentfile)
        !           489:        presentationnode.appendChild(presentationnodetext)
        !           490:        subnode.appendChild(presentationnode)
        !           491:    
        !           492:    node.appendChild(subnode)
        !           493: 
        !           494:    # node=dom.getElementsByTagName('lang')[0] #getNode
        !           495: 
        !           496:    writefile=file(path+"/index.meta","w")
        !           497:    writefile.write(dom.toxml().encode('utf-8'))
        !           498:    writefile.close()
        !           499:    
        !           500:    
        !           501: 
        !           502:    urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines()
        !           503:    #return urllib.quote("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path)
        !           504:    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']))
        !           505:    
        !           506:    #return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+self.REQUEST['path'])
        !           507:    

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