--- OSAS/OSA_system/OSAS_helpers.py 2003/12/23 13:43:10 1.1 +++ OSAS/OSA_system/OSAS_helpers.py 2008/09/05 11:42:55 1.9 @@ -2,6 +2,61 @@ import xml.dom.minidom import os.path import re +import urllib + +def changeIndexMeta(argv,path,dirnames): + """change index.meta""" + subnodes={} + + if not argv['startpage']=='': + subnodes['startpage']=argv['startpage'] + + if not argv['xslt']=='': + subnodes['xslt']=argv['xslt'] + + if not argv['thumbtemplate']=='': + subnodes['thumbtemplate']=argv['thumbtemplate'] + + if not argv['topbar']=='': + subnodes['toptemplate']=argv['toptemplate'] + + + try: + changeNodesInIndexMeta(path,'',subnodes,parent='texttool') + + except: + print "ERROR (changeIndexMeta)",path + + urllib.urlopen("http://nausikaa2.rz-berlin.mpg.de:86/cgi-bin/toc/admin/reg.cgi?path=%s"%path).readlines() + return "done" + + + +def readArchimedesXML(folder): + """gib URL aus """ + try: + XML=urllib.urlopen("http://archimedes.mpiwg-berlin.mpg.de/cgi-bin/toc/toc.cgi?step=xmrpusmanifest").read() + #print XML + dom=xml.dom.minidom.parseString(XML) + items=dom.getElementsByTagName('item') + dict={} + + for item in items: + #print item.attributes['dir'].value + try: + dict[item.attributes['dir'].value]=item.attributes['xml'].value + #print item.attributes['dir'].value,item.attributes['text'].value + except: + """nothing""" + + if dict.has_key(folder): + return dict[folder] + else: + return "" + except: + return "" + + def getText(nodelist): @@ -20,7 +75,7 @@ def changeNodesInIndexMeta(path,node,sub f=inFile.read() inFile.close() else: - f="""""" + f="""""" dom=xml.dom.minidom.parseString(f) @@ -38,20 +93,32 @@ def changeNodesInIndexMeta(path,node,sub # check if node already exist - nodeOld=root.getElementsByTagName(node) - - if nodeOld: # if yes -> delete it - root.removeChild(nodeOld[0]).unlink() if node=="": for subnode in subnodes.keys(): + nodeOld=root.getElementsByTagName(subnode) + + if nodeOld: # if yes -> delete it + try: + root.removeChild(nodeOld[0]).unlink() + except: + """nothing""" + namenode=dom.createElement(re.sub(r' ','-',subnode)) - namenodetext=dom.createTextNode(subnodes[subnode].decode("utf8")) + namenodetext=dom.createTextNode(unide(subnodes[subnode],"utf8")) namenode.appendChild(namenodetext) root.appendChild(namenode) else: + nodeOld=root.getElementsByTagName(node) + + try: + if nodeOld: # if yes -> delete it + root.removeChild(nodeOld[0]).unlink() + except: + """nothing""" + nodeNew=dom.createElement(node) # create new if nodeAttributes: @@ -62,7 +129,7 @@ def changeNodesInIndexMeta(path,node,sub for subnode in subnodes.keys(): namenode=dom.createElement(re.sub(r' ','-',subnode)) - namenodetext=dom.createTextNode(subnodes[subnode].decode("utf8")) + namenodetext=dom.createTextNode(unicode(subnodes[subnode],"utf8")) namenode.appendChild(namenodetext) nodeNew.appendChild(namenode) @@ -72,8 +139,10 @@ def changeNodesInIndexMeta(path,node,sub writefile=file(path+"/index.meta","w") writefile.write(dom.toxml().encode('utf-8')) writefile.close() - - + try: + os.chmod(path+"/index.meta",0664) + except: + """nothing"""