try:
return self.fields[name]
except KeyError:
- raise NameError("Record does not have a field '{}'. Did you mean one of: {}?"
- .format(name, ", ".join(self.fields))) from None
+ if self.name is None:
+ reference = "Unnamed record"
+ else:
+ reference = "Record '{}'".format(self.name)
+ raise NameError("{} does not have a field '{}'. Did you mean one of: {}?"
+ .format(reference, name, ", ".join(self.fields))) from None
def shape(self):
return sum(len(f) for f in self.fields.values()), False
("ack", 1),
])
with self.assertRaises(NameError,
- msg="Record does not have a field 'en'. Did you mean one of: stb, ack?"):
+ msg="Record 'r' does not have a field 'en'. Did you mean one of: stb, ack?"):
+ r.en
+
+ def test_wrong_field_unnamed(self):
+ r = [Record([
+ ("stb", 1),
+ ("ack", 1),
+ ])][0]
+ with self.assertRaises(NameError,
+ msg="Unnamed record does not have a field 'en'. Did you mean one of: stb, ack?"):
r.en