]> mj.ucw.cz Git - moe.git/blobdiff - t/moe/config.py
Backward-compatible point files implemented
[moe.git] / t / moe / config.py
index c68a89948f1219d1f954ac322197fd113a5f7373..95cc316b4972cfb5020a24bfba4bba94752f10f9 100644 (file)
@@ -2,14 +2,15 @@
 
 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:
@@ -139,7 +140,7 @@ class MoeConfigStack:
        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]
@@ -152,7 +153,7 @@ class MoeConfigStack:
            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 = ""