Mercurial > codeOptimizer
view Config.py @ 3:f65c2d63ab66
Rename Options to Config
| author | Tom Fredrik Blenning Klaussen <bfg@blenning.no> |
|---|---|
| date | Sun, 16 Sep 2012 21:31:41 +0200 |
| parents | Options.py@10f1d7de9bc3 |
| children | 3a56cd936c59 |
line wrap: on
line source
#!/usr/bin/env python -O import xml.dom.minidom, sys, re class Config: def __init__(self, path): self.document = xml.dom.minidom.parse(path) @staticmethod def getOption(node, option, match): for potentialMatch in node.childNodes: if potentialMatch.nodeName == "option": if potentialMatch.hasAttribute('match'): matchstr = potentialMatch.getAttribute('match') try: prog = re.compile(matchstr) except: raise xml.dom.SyntaxErr(matchstr + " is not a valid value for attribute match") if prog.match(match): res = Config.getOption(potentialMatch, option, match) if not res: res = potentialMatch.getAttribute('cxxflags') return res return None def getCxxflags(self, name): value = self.getOption(self.document.childNodes[0], 'Cxxflags', name) if not value: raise xml.dom.NotFoundErr() return value
