Mercurial > codeOptimizer
view Options.py @ 2:10f1d7de9bc3
New module for reading configurations.
| author | Tom Fredrik Blenning Klaussen <bfg@blenning.no> |
|---|---|
| date | Sun, 16 Sep 2012 21:29:22 +0200 |
| parents | |
| children |
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
