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: 
        !            25:    newtemplate=PageTemplateFile('products/OSA_system/OSAS_add_new').__of__(self)
        !            26:         self.REQUEST.SESSION['path']=self.REQUEST['path']
        !            27:    if no_upload==0:
        !            28:        self.REQUEST.SESSION['no_upload']='yes'
        !            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('/Users/dwinter/Documents/Projekte/OSAS/OSA_system/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:         #listed=[ x for x in self.isolist.keys()]
        !            59:    #print listed
        !            60:         #sorted=listed.sort()
        !            61:    #print sorted
        !            62:    
        !            63:    newtemplate=PageTemplateFile('products/OSA_system/OSAS_add_bibdata').__of__(self)
        !            64:    return newtemplate()
        !            65:    #return self.fields
        !            66: 
        !            67: 
        !            68: def parse_query_string(str):
        !            69:    queries={}
        !            70:    key=""
        !            71:    value=""
        !            72:    tmp=""
        !            73:    toggle="key"
        !            74:    str=urllib.unquote(str)
        !            75:    for i in str:
        !            76:        if i=="=":
        !            77:            key=tmp
        !            78:            toggle="value"              
        !            79:            tmp=""
        !            80:        elif i=="&":
        !            81:            queries[key]=tmp
        !            82:            tmp=""
        !            83:            toggle="key"
        !            84:        else:
        !            85:            if toggle=="key":
        !            86:                if i=="+" : i="-"
        !            87:            else:
        !            88:                if i=="+" : i=" "
        !            89:            tmp=tmp+i
        !            90:    queries[key]=tmp
        !            91:    return queries
        !            92:    
        !            93: def add3(self):
        !            94:    """Foldername"""
        !            95:    metadata=parse_query_string(self.REQUEST['QUERY_STRING'])
        !            96:    self.REQUEST.SESSION['metadata']=metadata
        !            97:    vorschlag_naming=metadata['author'][:5]+"_"+metadata['title'][:5]+"_"+metadata['year']
        !            98:    self.vorschlag_naming=vorschlag_naming.decode('ascii','ignore')
        !            99:    if self.REQUEST.SESSION.has_key('no_upload'):
        !           100:        self.REQUEST.SESSION['folder_name']=self.REQUEST.SESSION['path']
        !           101:        return add5(self)
        !           102:    else:
        !           103:        newtemplate=PageTemplateFile('products/OSA_system/OSAS_add_naming').__of__(self)
        !           104:        return newtemplate()
        !           105:    
        !           106: 
        !           107: def add4(self):
        !           108:    self.path=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1)
        !           109:    
        !           110:    self.folder_name=self.REQUEST['folder_name']
        !           111:    # netx has to be changed -> error if back button is used!!
        !           112:    self.REQUEST.SESSION['path']=self.REQUEST.SESSION['path']+"/"+self.REQUEST['folder_name']
        !           113: 
        !           114: 
        !           115:    self.REQUEST.SESSION['folder_name']=self.folder_name
        !           116:    self.image_folder_name="pageimg"
        !           117:    newtemplate=PageTemplateFile('products/OSA_system/OSAS_upload').__of__(self)
        !           118:    return newtemplate()
        !           119:    
        !           120: def add5(self):
        !           121:    """ADD INDEX.META"""
        !           122:    newtemplate=PageTemplateFile('products/OSA_system/OSAS_add_metadata').__of__(self)
        !           123:    return newtemplate()
        !           124: 
        !           125: def add6(self):
        !           126:    metadata=parse_query_string(self.REQUEST['QUERY_STRING'])
        !           127:    metadata['archive-path']=os.path.split(self.REQUEST.SESSION['path'])[0]
        !           128:    #metadata['folder_name']=self.REQUEST.SESSION['folder_name']
        !           129:    metadata['folder_name']=os.path.split(self.REQUEST.SESSION['path'])[1]
        !           130:    metadata['content-type']="scanned document"
        !           131:    self.reftype=self.REQUEST.SESSION['reftype']
        !           132:    self.REQUEST.SESSION['add_metadata']=metadata   
        !           133:    self.add_metadata=metadata
        !           134:    self.metadata=self.REQUEST.SESSION['metadata']
        !           135:    self.metadataprint=""
        !           136:    for tag in self.metadata.keys():
        !           137:        self.metadataprint=self.metadataprint+"<"+tag+">"+self.metadata[tag]+"</"+tag+">\n"
        !           138: 
        !           139:    newtemplate=PageTemplateFile('products/OSA_system/index_meta').__of__(self)
        !           140:    newtemplate.content_type="text/plain"
        !           141:    renderxml = newtemplate()
        !           142:    if self.REQUEST.SESSION.has_key('no_upload'):
        !           143:        metapath=self.REQUEST.SESSION['path']+"/index.meta"
        !           144:    else:
        !           145:        metapath=self.add_metadata['archive-path']+"/"+self.add_metadata['folder_name']+"/index.meta"
        !           146:    
        !           147:    f=open(metapath,'w')
        !           148:    f.writelines(renderxml)
        !           149:    f.close()
        !           150:    os.chmod(metapath,0644)
        !           151:    if self.REQUEST.SESSION.has_key('no_upload'):
        !           152:        
        !           153:        #newtemplate2=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/done',"text/html").__of__(self)
        !           154:        return self.REQUEST.response.redirect(self.REQUEST['URL2']+"?path="+self.REQUEST.SESSION['path'])
        !           155:    else:
        !           156:                 #print self.add_metadata['archive-path']
        !           157:        self.viewpath=re.search(r"/mpiwg/online/(.*)",self.add_metadata['archive-path']).group(1) 
        !           158:        newtemplate2=PageTemplateFile('products/OSA_system/OSAS_saved').__of__(self)
        !           159:    
        !           160:        
        !           161:        newtemplate2.content_type="text/html"
        !           162:        self.REQUEST.response.setHeader('Content-Type','text/html')
        !           163:    
        !           164: 
        !           165:        return newtemplate2()
        !           166: 
        !           167: 
        !           168: from time import localtime,strftime
        !           169: 
        !           170: def date(self):
        !           171:    return strftime("%d.%m.%Y",localtime()) 
        !           172: 
        !           173: 
        !           174: def addPresentation(self,path):
        !           175:    """add presentation to the path"""
        !           176:    
        !           177:    dom=xml.dom.minidom.parse(path+"/index.meta")
        !           178: 
        !           179:    try:
        !           180:        author=archive.getText(dom.getElementsByTagName('author')[0].childNodes)
        !           181:    except:
        !           182:        author=archive.getText(dom.getElementsByTagName('Author')[0].childNodes)
        !           183:    title=archive.getText(dom.getElementsByTagName('title')[0].childNodes)
        !           184:    try:
        !           185:        date=archive.getText(dom.getElementsByTagName('year')[0].childNodes)
        !           186:    except:
        !           187:        try:
        !           188:            date=archive.getText(dom.getElementsByTagName('Year')[0].childNodes)
        !           189:        except:
        !           190:            date=archive.getText(dom.getElementsByTagName('date')[0].childNodes)
        !           191:    i=1
        !           192:    while os.path.exists("%02d-presentation"%i):
        !           193:        i+=1
        !           194:            self.REQUEST.SESSION['presentationname']="%02d-presentation"%i
        !           195:    self.REQUEST.SESSION['path']=path
        !           196:    self.REQUEST.SESSION['xmlvorschlag']="""<info>
        !           197:    <author>%s</author>
        !           198:    <title>%s</title>
        !           199:    <date>%s</date>
        !           200:    <display>yes</display>
        !           201: </info>"""%(author,title,date)
        !           202:    
        !           203:    newtemplate=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/addPresentation').__of__(self)
        !           204:    return newtemplate()
        !           205: 
        !           206: def addPresentation2(self):
        !           207:    """add presentation """
        !           208:    self.folder_name=self.REQUEST['folder_name']
        !           209:    #print self.REQUEST['folder_name']
        !           210:    self.content_description=self.REQUEST['content_description']
        !           211: 
        !           212:    self.path=self.REQUEST.SESSION['path']
        !           213: 
        !           214:    if not self.REQUEST.has_key('fileupload'):
        !           215:        self.xmlinfo=self.REQUEST['xmltext']
        !           216:        file_name="info.xml"
        !           217: 
        !           218:    else:
        !           219:        file_name=self.REQUEST['fileupload'].filename
        !           220:        self.xmlinfo=self.REQUEST.form['fileupload'].read()
        !           221:        # hack dW
        !           222:        file_name="info.xml"
        !           223:        self.xmlinfo=self.REQUEST['xmltext']
        !           224:    try:
        !           225:        os.mkdir(self.path+"/"+self.folder_name)
        !           226:    except:
        !           227:        """nothing"""
        !           228:    print "NAME:",file_name
        !           229:    f=open(self.path+"/"+self.folder_name+"/"+file_name,"w")
        !           230:    f.write(self.xmlinfo)
        !           231:    f.close()
        !           232:    os.chmod(self.path+"/"+self.folder_name,0755)
        !           233:    os.chmod(self.path+"/"+self.folder_name+"/"+file_name,0644)
        !           234:    addDirsToIndexMeta(self.path,self.folder_name,self.content_description,'presentation')
        !           235:    
        !           236:    return self.REQUEST.RESPONSE.redirect('storefiles?path='+self.path)
        !           237: 
        !           238: def addText(self,path):
        !           239:    """add fulltext to the path"""
        !           240:    self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing text files
        !           241:    self.REQUEST.SESSION['path']=path
        !           242:    newtemplate=PageTemplateFile('/usr/local/mpiwg/Zope/Extensions/addText').__of__(self)
        !           243:    return newtemplate()
        !           244: 
        !           245: def addText2(self):
        !           246:    self.folder_name=self.REQUEST['folder_name']
        !           247:    #print self.REQUEST['folder_name']
        !           248:    self.content_description=self.REQUEST['content_description']
        !           249:    self.path=self.REQUEST.SESSION['path']
        !           250:    self.file_name=self.REQUEST['fileupload'].filename
        !           251:    self.file=self.REQUEST.form['fileupload'].read()
        !           252:    os.mkdir(self.path+"/"+self.folder_name)
        !           253:    f=open(self.path+"/"+self.folder_name+"/"+self.file_name,"w")
        !           254:    f.write(self.file)
        !           255:    f.close()
        !           256:    os.chmod(self.path+"/"+self.folder_name,0755)
        !           257:    os.chmod(self.path+"/"+self.folder_name+"/"+self.file_name,0644)
        !           258:    addDirsToIndexMeta(self.path,self.folder_name,self.content_description,'fulltext')
        !           259: 
        !           260:    return self.REQUEST.RESPONSE.redirect('storefiles?path='+self.path)
        !           261: 
        !           262: def addTextExternal(self,path,texturl,version):
        !           263:    """hinzufügen eines externen textes"""
        !           264:    try: #neue text version einlesen
        !           265:        texttemp=urllib.urlopen(texturl).readlines()
        !           266:        text=""
        !           267:        for line in texttemp:
        !           268:            text=text+line
        !           269:    except: #fehler beim lesen des textes
        !           270:        return "ERROR: cannot read: %s"%texturl
        !           271:    if TextExternalError(text): #kein xml header
        !           272:        return "ERROR: cannot read: %s"%texturl, "received:",text 
        !           273:    textpath=getNewTextPath(path) #erzeuge neuen Ornder für den Text
        !           274:    splitted=string.split(texturl,"/")
        !           275:    name=splitted[len(splitted)-1] #Name des XML-files
        !           276:    try:
        !           277:        writefile=file(path+"/"+textpath+"/"+name,"w")
        !           278:    except:
        !           279:        return"ERROR: cannot write: %s"%path+"/"+textpath+"/"+name
        !           280:    writefile.write(text)
        !           281:    writefile.close()
        !           282:    os.chmod(path+"/"+textpath+"/"+name,0644)
        !           283: 
        !           284:    #add new file to XML
        !           285:    dom=xml.dom.minidom.parse(path+"/index.meta")
        !           286:    node=dom.getElementsByTagName('resource')[0] #getNode
        !           287: 
        !           288:    subnode=dom.createElement('dir')
        !           289:    
        !           290:    namenode=dom.createElement('name')
        !           291:    namenodetext=dom.createTextNode(textpath)
        !           292:    namenode.appendChild(namenodetext)
        !           293:    subnode.appendChild(namenode)
        !           294:        
        !           295:    descriptionnode=dom.createElement('description')
        !           296:    descriptionnodetext=dom.createTextNode('archimedes text:'+version)
        !           297:    descriptionnode.appendChild(descriptionnodetext)
        !           298:    subnode.appendChild(descriptionnode)
        !           299: 
        !           300:    contentnode=dom.createElement('content-type')
        !           301:    contentnodetext=dom.createTextNode('fulltext')
        !           302:    contentnode.appendChild(contentnodetext)
        !           303:    subnode.appendChild(contentnode)
        !           304:    
        !           305:    node.appendChild(subnode)
        !           306: 
        !           307:    writefile=file(path+"/index.meta","w")
        !           308:    writefile.write(dom.toxml().encode('utf-8'))
        !           309:    writefile.close()
        !           310: 
        !           311:    #change texttool tag
        !           312:    dom=xml.dom.minidom.parse(path+"/index.meta")
        !           313:    node=dom.getElementsByTagName('meta')[0] #getNode
        !           314: 
        !           315:    try: #texttool existiert schon
        !           316:        subnode=node.getElementsByTagName('texttool')[0]
        !           317:    except: #wenn nicht Fehler ausgeben
        !           318:        return "ERROR:no presentation configured yet, user Web Front End to do so!"
        !           319:    
        !           320: 
        !           321:    try:
        !           322:        texttoolnodelist=subnode.getElementsByTagName('text')
        !           323:    
        !           324:        if not len(texttoolnodelist)==0: #texttool tag existiert schon, dann löschen
        !           325:            subsubnode=subnode.removeChild(texttoolnodelist[0])
        !           326:            subsubnode.unlink()
        !           327:    except:
        !           328:        """nothing"""
        !           329:    # text neu anlegen
        !           330:    textfoldernode=dom.createElement('text')
        !           331:    textfoldernodetext=dom.createTextNode(textpath+"/"+name)
        !           332:    textfoldernode.appendChild(textfoldernodetext)
        !           333:    subnode.appendChild(textfoldernode)
        !           334: 
        !           335:    #index.meta ausgeben
        !           336:    writefile=file(path+"/index.meta","w")
        !           337:    writefile.write(dom.toxml().encode('utf-8'))
        !           338:    writefile.close()
        !           339:    
        !           340:    #registrieren
        !           341:    print urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines()
        !           342:    
        !           343:    return "DONE:"+textpath+"/"+name
        !           344: 
        !           345: def TextExternalError(text):
        !           346:    firsts=text[0:10]
        !           347:    print firsts
        !           348:    try:
        !           349:        match=re.search(r".*<?xml.*",firsts)
        !           350:    except:
        !           351:        return 1
        !           352:    return 0
        !           353: 
        !           354: def getNewTextPath(path):
        !           355:    i=1
        !           356:    while os.path.exists(path+"/fulltext%i"%i):
        !           357:        i+=1
        !           358:    os.mkdir(path+"/fulltext%i"%i)
        !           359:    os.chmod(path+"/fulltext%i"%i,0755)
        !           360:    return "fulltext%i"%i
        !           361: 
        !           362: def addImages(self,path):
        !           363:    """Imagesfolder to the path"""
        !           364:    self.REQUEST.SESSION['existing_names']=['pageimg'] # to be done generate list of existing pageimages files
        !           365:    self.REQUEST.SESSION['path']=path
        !           366:    newtemplate=PageTemplateFile('products/OSA_system/OSAS_addImages').__of__(self)
        !           367:    return newtemplate()
        !           368: 
        !           369: def addImages2(self):
        !           370:    self.image_folder_name=self.REQUEST['folder_name']
        !           371:    #print self.REQUEST['folder_name']
        !           372:    self.content_description=self.REQUEST['content_description']
        !           373:    #self.path=self.REQUEST.SESSION['path']
        !           374:    
        !           375:    
        !           376:    self.content_type='images'
        !           377:    addDirsToIndexMeta(self.REQUEST.SESSION['path'],self.image_folder_name,self.content_description,self.content_type)
        !           378:    self.REQUEST.SESSION['path']=re.search(r"/mpiwg(.*)",self.REQUEST.SESSION['path']).group(1)
        !           379:    newtemplate=PageTemplateFile('products/OSA_system/OSAS_upload2').__of__(self)
        !           380:    return newtemplate()
        !           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('/usr/local/mpiwg/Zope/Extensions/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:    print 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:    return self.REQUEST.RESPONSE.redirect('storefiles?path='+self.REQUEST['path'])
        !           506:    

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