import re
import sys
+import moe
key_pattern = re.compile("^[A-Za-z0-9_-]+$")
ref_pattern = re.compile("^[A-Za-z0-9_-]+")
-class MoeConfigInvalid(Exception):
+class MoeConfigInvalid(moe.MoeError):
pass
-class MoeConfigEvalErr(Exception):
+class MoeConfigEvalError(moe.MoeError):
pass
class MoeConfig:
if self.cache.has_key(k):
return self.cache[k]
if self.in_progress.has_key(k):
- raise MoeConfigEvalErr, "Definition of $%s is recursive" % k;
+ raise MoeConfigEvalError, "Definition of $%s is recursive" % k;
self.in_progress[k] = 1;
v = self.do_get(k, len(self.stk)-1)
del self.in_progress[k]
cfg = self.stk[pos]
if cfg.vars.has_key(k):
new = cfg.vars[k]
- if new[0][0] == "a":
+ if len(new) > 0 and new[0][0] == "a":
v = self.do_get(k, pos-1)
else:
v = ""