예제 #1
0
 def test_get_nonexistent_value(self):
     l = ['a', 'd']
     p = DictPath(':', l)
     with self.assertRaises(KeyError):
         p.get_value(dict())
예제 #2
0
 def test_get_value_escaped(self):
     v = 42
     l = ['a', 'b:b', 'c']
     d = {'a': {'b:b': {'c': v}}}
     p = DictPath(':', l)
     self.assertEqual(p.get_value(d), v)
예제 #3
0
파일: refvalue.py 프로젝트: wmey/reclass
 def _resolve(self, ref, context):
     path = DictPath(self._delim, ref)
     try:
         return path.get_value(context)
     except KeyError as e:
         raise UndefinedVariableError(ref)
예제 #4
0
 def test_get_value_listindex_str(self):
     v = 42
     s = 'a:1:c'
     d = {'a': [None, {'c': v}, None]}
     p = DictPath(':', s)
     self.assertEqual(p.get_value(d), v)
예제 #5
0
 def test_get_value_escaped(self):
     v = 42
     l = ['a', 'b:b', 'c']
     d = {'a':{'b:b':{'c':v}}}
     p = DictPath(':', l)
     self.assertEqual(p.get_value(d), v)
예제 #6
0
 def test_get_value_listindex_list(self):
     v = 42
     l = ['a', 1, 'c']
     d = {'a':[None, {'c':v}, None]}
     p = DictPath(':', l)
     self.assertEqual(p.get_value(d), v)
예제 #7
0
 def test_get_value_listindex_str(self):
     v = 42
     s = 'a:1:c'
     d = {'a':[None, {'c':v}, None]}
     p = DictPath(':', s)
     self.assertEqual(p.get_value(d), v)
예제 #8
0
 def resolve(self, context, *args, **kwargs):
     path = DictPath(kwargs['delim'], self.string)
     try:
         return path.get_value(context)
     except KeyError as e:
         raise UndefinedVariableError(self.string)
예제 #9
0
 def test_get_value_listindex_list(self):
     v = 42
     l = ["a", 1, "c"]
     d = {"a": [None, {"c": v}, None]}
     p = DictPath(":", l)
     self.assertEqual(p.get_value(d), v)
예제 #10
0
 def resolve(self, context, *args, **kwargs):
     path = DictPath(kwargs['delim'], self.string)
     try:
         return path.get_value(context)
     except KeyError as e:
         raise UndefinedVariableError(self.string)
예제 #11
0
 def test_get_value_escaped(self):
     v = 42
     l = ["a", "b:b", "c"]
     d = {"a": {"b:b": {"c": v}}}
     p = DictPath(":", l)
     self.assertEqual(p.get_value(d), v)
예제 #12
0
 def test_get_nonexistent_value(self):
     l = ["a", "d"]
     p = DictPath(":", l)
     with self.assertRaises(KeyError):
         p.get_value(dict())
예제 #13
0
 def test_get_value_listindex_str(self):
     v = 42
     s = "a:1:c"
     d = {"a": [None, {"c": v}, None]}
     p = DictPath(":", s)
     self.assertEqual(p.get_value(d), v)
예제 #14
0
 def test_get_value_listindex_list(self):
     v = 42
     l = ['a', 1, 'c']
     d = {'a': [None, {'c': v}, None]}
     p = DictPath(':', l)
     self.assertEqual(p.get_value(d), v)
예제 #15
0
 def test_get_nonexistent_value(self):
     l = ['a', 'd']
     p = DictPath(':', l)
     with self.assertRaises(KeyError):
         p.get_value(dict())
예제 #16
0
파일: refvalue.py 프로젝트: leowmjw/reclass
 def _resolve(self, ref, context):
     path = DictPath(self._delim, ref)
     try:
         return path.get_value(context)
     except KeyError as e:
         raise UndefinedVariableError(ref)
예제 #17
0
파일: refitem.py 프로젝트: gburiola/reclass
 def _resolve(self, ref, context):
     path = DictPath(self._settings.delimiter, ref)
     try:
         return path.get_value(context)
     except (KeyError, TypeError) as e:
         raise ResolveError(ref)