Skip to content

Commit f5e2e76

Browse files
mia-0032tseaver
authored andcommitted
Make SchemaField be able to include description via from_api_repr method (googleapis#5114)
1 parent 8a1461a commit f5e2e76

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

bigquery/google/cloud/bigquery/schema.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,13 @@ def from_api_repr(cls, api_repr):
5858
"""
5959
# Handle optional properties with default values
6060
mode = api_repr.get('mode', 'NULLABLE')
61+
description = api_repr.get('description')
6162
fields = api_repr.get('fields', ())
6263
return cls(
6364
field_type=api_repr['type'].upper(),
6465
fields=[cls.from_api_repr(f) for f in fields],
6566
mode=mode.upper(),
67+
description=description,
6668
name=api_repr['name'],
6769
)
6870

bigquery/tests/unit/test_schema.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,14 @@ def test_from_api_repr(self):
9494
'type': 'integer',
9595
}],
9696
'mode': 'required',
97+
'description': 'test_description',
9798
'name': 'foo',
9899
'type': 'record',
99100
})
100101
self.assertEqual(field.name, 'foo')
101102
self.assertEqual(field.field_type, 'RECORD')
102103
self.assertEqual(field.mode, 'REQUIRED')
104+
self.assertEqual(field.description, 'test_description')
103105
self.assertEqual(len(field.fields), 1)
104106
self.assertEqual(field.fields[0].name, 'bar')
105107
self.assertEqual(field.fields[0].field_type, 'INTEGER')
@@ -113,6 +115,7 @@ def test_from_api_repr_defaults(self):
113115
self.assertEqual(field.name, 'foo')
114116
self.assertEqual(field.field_type, 'RECORD')
115117
self.assertEqual(field.mode, 'NULLABLE')
118+
self.assertEqual(field.description, None)
116119
self.assertEqual(len(field.fields), 0)
117120

118121
def test_name_property(self):

0 commit comments

Comments
 (0)