Skip to content

Commit 17f52ce

Browse files
committed
Fix unexpected attribute error
1 parent ca20945 commit 17f52ce

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

apitools/base/protorpclite/protojson.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,10 @@ def decode_field(self, field, value):
333333

334334
elif (isinstance(field, messages.MessageField) and
335335
issubclass(field.type, messages.Message)):
336-
return self.__decode_dictionary(field.type, value)
336+
try:
337+
return self.__decode_dictionary(field.type, value)
338+
except AttributeError as err:
339+
raise messages.DecodeError(err)
337340

338341
elif (isinstance(field, messages.FloatField) and
339342
isinstance(value, (six.integer_types, six.string_types))):

apitools/base/protorpclite/protojson_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -375,9 +375,9 @@ def testDecodeInvalidDateTime(self):
375375

376376
def testDecodeInvalidMessage(self):
377377
encoded = """{
378-
"a_nested_datetime": {
378+
"a_nested_datetime": [{
379379
"nested_dt_value": "invalid"
380-
}
380+
}]
381381
}
382382
"""
383383
self.assertRaises(messages.DecodeError, protojson.decode_message,

0 commit comments

Comments
 (0)