return True |
return True |
|
|
def __getitem__(self, key): |
def __getitem__(self, key): |
if key.startswith('(?'): |
if key.startswith('(?') or '.' in key: |
return eval(key[2:].rstrip(')').rstrip('?').strip(), |
return eval(key.lstrip('(').rstrip(')').strip('?').strip(), |
sys.modules[self.module].__dict__, self) |
sys.modules[self.module].__dict__, self) |
elif key in self.extra: |
elif key in self.extra: |
return self.extra[key] |
return self.extra[key] |
raise KeyError(key) |
raise KeyError(key) |
|
|
class EvalTemplate(string.Template): |
class EvalTemplate(string.Template): |
idpattern = r'[_a-z][_a-z0-9]*|\(\?[^?]*\?\)' |
idpattern = r'[_a-z][_a-z0-9]*(?:\.[_a-z][_a-z0-9]*)*|\(\?[^?]*\?\)' |
|
|
class Text(Method): |
class Text(Method): |
"""Text template w/string substitution that can be used as a method |
"""Text template w/string substitution that can be used as a method |