summaryrefslogtreecommitdiff
path: root/jsonpath_rw
diff options
context:
space:
mode:
authorKenn Knowles <kenn@kennknowles.com>2021-06-24 10:59:21 -0700
committerGitHub <noreply@github.com>2021-06-24 10:59:21 -0700
commit6f5647bb3ad2395c20f0191fef07a1df51c9fed8 (patch)
tree6c99504715ad60f36ea9edd3a926541cddfe7743 /jsonpath_rw
parentb008a97c247cd0f309e85db98e37d0c14e8dc81c (diff)
parent08231fb66f73b83a2b5a1acc2abef49ca3be3b4c (diff)
downloadjsonpath-rw-master.tar.gz
Merge pull request #96: Don't clobber existing IDs with 'auto_id' HEADmaster
Diffstat (limited to 'jsonpath_rw')
-rw-r--r--jsonpath_rw/jsonpath.py15
1 files changed, 7 insertions, 8 deletions
diff --git a/jsonpath_rw/jsonpath.py b/jsonpath_rw/jsonpath.py
index c47653e..1d4ac4c 100644
--- a/jsonpath_rw/jsonpath.py
+++ b/jsonpath_rw/jsonpath.py
@@ -430,14 +430,13 @@ class Fields(JSONPath):
self.fields = fields
def get_field_datum(self, datum, field):
- if field == auto_id_field:
- return AutoIdForDatum(datum)
- else:
- try:
- field_value = datum.value[field] # Do NOT use `val.get(field)` since that confuses None as a value and None due to `get`
- return DatumInContext(value=field_value, path=Fields(field), context=datum)
- except (TypeError, KeyError, AttributeError):
- return None
+ try:
+ field_value = datum.value[field] # Do NOT use `val.get(field)` since that confuses None as a value and None due to `get`
+ return DatumInContext(value=field_value, path=Fields(field), context=datum)
+ except (TypeError, KeyError, AttributeError):
+ if field == auto_id_field:
+ return AutoIdForDatum(datum)
+ return None
def reified_fields(self, datum):
if '*' not in self.fields: