From 02e0e5ac40146c3d0d359a955a926838f070371d Mon Sep 17 00:00:00 2001 From: Adam Bloomston Date: Thu, 1 Oct 2015 21:11:40 -0400 Subject: fix for foo.[*] where foo is null --- jsonpath_rw/jsonpath.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jsonpath_rw/jsonpath.py b/jsonpath_rw/jsonpath.py index 3c491d0..f2cd82e 100644 --- a/jsonpath_rw/jsonpath.py +++ b/jsonpath_rw/jsonpath.py @@ -430,7 +430,7 @@ class Index(JSONPath): JSONPath that matches indices of the current datum, or none if not large enough. Concrete syntax is brackets. - WARNING: If the datum is not long enough, it will not crash but will not match anything. + WARNING: If the datum is None or not long enough, it will not crash but will not match anything. NOTE: For the concrete syntax of `[*]`, the abstract syntax is a Slice() with no parameters (equiv to `[:]` """ @@ -440,7 +440,7 @@ class Index(JSONPath): def find(self, datum): datum = DatumInContext.wrap(datum) - if len(datum.value) > self.index: + if datum.value and len(datum.value) > self.index: return [DatumInContext(datum.value[self.index], path=self, context=datum)] else: return [] -- cgit v1.2.1