summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Kögl <stefan@skoegl.net>2012-12-14 12:35:14 +0100
committerStefan Kögl <stefan@skoegl.net>2012-12-14 12:35:14 +0100
commit0869f4efb2b5579583311d20835112a4d26d8d8a (patch)
tree27dbf6edc40c6d601762de661b27f12b707f8391
parent76500aa810b5a96b27a313720b63e338ba568cc9 (diff)
downloadpython-json-pointer-0869f4efb2b5579583311d20835112a4d26d8d8a.tar.gz
fix validation of array indices
-rw-r--r--jsonpointer.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/jsonpointer.py b/jsonpointer.py
index 204cb59..4868b26 100644
--- a/jsonpointer.py
+++ b/jsonpointer.py
@@ -122,6 +122,9 @@ class JsonPointer(object):
def to_last(self, doc, default=_nothing):
""" Resolves ptr until the last step, returns (sub-doc, last-step) """
+ if not self.parts:
+ return doc, None
+
for part in self.parts[:-1]:
doc = self.walk(doc, part)
@@ -158,7 +161,7 @@ class JsonPointer(object):
if part == '-':
return part
- if not RE_ARRAY_INDEX.match(part):
+ if not RE_ARRAY_INDEX.match(str(part)):
raise JsonPointerException("'%s' is not a valid list index" % (part, ))
return int(part)