Hi, I'm doing a sort of symbolic linking app in Windows for my own enjoyment, and figured I would do it in python for the same reason + learning the language.
The following functions could obviously do with some refactoring. One obvious thing would be to make wordsetter and wordsforfolder more generic, and just pass a few extra parameters. But that seems sort of stupid. Any suggestions on refactoring here? other improvements? def getwordslist(word): thisword = wordpath + word + ".xml" if exists(thisword): doc = xml.dom.minidom.parse(thisword) loc = doc.childNodes[0] for i in range(0, len(loc.childNodes)): if (loc.childNodes[i].firstChild.data == thispath): break else: wordsetter(thisword,doc,loc) else : doc = xml.dom.minidom.Document() loc = doc.createElementNS("", "locations") doc.appendChild(loc) wordsetter(thisword,doc,loc) return None def getfolderwords(word): if exists(normpath(folderwords)): doc = xml.dom.minidom.parse(folderwords) loc = doc.childNodes[0] wordsforfolder(word,doc,loc) else : doc = xml.dom.minidom.Document() loc = doc.createElementNS("", "wordlist") doc.appendChild(loc) xml.dom.ext.PrettyPrint(doc, open(normpath(folderwords), "w")) wordsforfolder(word,doc,loc) return None def wordsetter(word,doc,loc): thisloc = doc.createElementNS("", "location") xexpr= "//location[.='" + thispath + "']" xp = Evaluate(xexpr,doc.documentElement) if len(xp) < 1: loc.appendChild(thisloc) text = doc.createTextNode(thispath) thisloc.appendChild(text) fi = open(word, "w") fi.write(doc.toxml()) def wordsforfolder(word,doc,loc): thisloc = doc.createElementNS("", "word") xexpr= "//word[.='" + word + "']" xp = Evaluate(xexpr,doc.documentElement) if len(xp) < 1: loc.appendChild(thisloc) text = doc.createTextNode(word) thisloc.appendChild(text) fi = open(folderwords, "w") fi.write(doc.toxml()) Cheers, Bryan Rasmussen -- http://mail.python.org/mailman/listinfo/python-list