Skip to content

Commit 4c14890

Browse files
committed
De-lint.
Note that splitting up the field handling into separate methods is arbitrary, to work around pylint's arbirary 'too-many-branches' opinion.
1 parent 0b9474b commit 4c14890

File tree

3 files changed

+49
-37
lines changed

3 files changed

+49
-37
lines changed

gcloud/bigquery/job.py

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -570,24 +570,7 @@ def _require_client(self, client):
570570
client = self._client
571571
return client
572572

573-
def _build_resource(self):
574-
"""Generate a resource for ``begin``."""
575-
resource = {
576-
'jobReference': {
577-
'projectId': self.project,
578-
'jobId': self.name,
579-
},
580-
'configuration': {
581-
'sourceUris': self.source_uris,
582-
'destinationTable': {
583-
'projectId': self.destination.project,
584-
'datasetId': self.destination.dataset_name,
585-
'tableId': self.destination.name,
586-
},
587-
'load': {},
588-
},
589-
}
590-
configuration = resource['configuration']['load']
573+
def _populate_config_resource(self, configuration):
591574

592575
if self.allow_jagged_rows is not None:
593576
configuration['allowJaggedRows'] = self.allow_jagged_rows
@@ -612,6 +595,26 @@ def _build_resource(self):
612595
if self.write_disposition is not None:
613596
configuration['writeDisposition'] = self.write_disposition
614597

598+
def _build_resource(self):
599+
"""Generate a resource for ``begin``."""
600+
resource = {
601+
'jobReference': {
602+
'projectId': self.project,
603+
'jobId': self.name,
604+
},
605+
'configuration': {
606+
'sourceUris': self.source_uris,
607+
'destinationTable': {
608+
'projectId': self.destination.project,
609+
'datasetId': self.destination.dataset_name,
610+
'tableId': self.destination.name,
611+
},
612+
'load': {},
613+
},
614+
}
615+
configuration = resource['configuration']['load']
616+
self._populate_config_resource(configuration)
617+
615618
if len(self.schema) > 0:
616619
configuration['schema'] = {
617620
'fields': _build_schema_resource(self.schema)}

gcloud/bigquery/table.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -692,6 +692,7 @@ def insert_data(self,
692692

693693
return errors
694694

695+
695696
def _parse_schema_resource(info):
696697
"""Parse a resource fragment into a schema field.
697698

gcloud/bigquery/test_job.py

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,7 @@ def _verifyReadonlyResourceProperties(self, job, resource):
109109
else:
110110
self.assertEqual(job.user_email, None)
111111

112-
def _verifyResourceProperties(self, job, resource):
113-
self._verifyReadonlyResourceProperties(job, resource)
114-
115-
config = resource.get('configuration', {}).get('load')
112+
def _verifyBooleanConfigProperties(self, job, config):
116113
if 'allowJaggedRows' in config:
117114
self.assertEqual(job.allow_jagged_rows,
118115
config['allowJaggedRows'])
@@ -123,6 +120,13 @@ def _verifyResourceProperties(self, job, resource):
123120
config['allowQuotedNewlines'])
124121
else:
125122
self.assertTrue(job.allow_quoted_newlines is None)
123+
if 'ignoreUnknownValues' in config:
124+
self.assertEqual(job.ignore_unknown_values,
125+
config['ignoreUnknownValues'])
126+
else:
127+
self.assertTrue(job.ignore_unknown_values is None)
128+
129+
def _verifyEnumConfigProperties(self, job, config):
126130
if 'createDisposition' in config:
127131
self.assertEqual(job.create_disposition,
128132
config['createDisposition'])
@@ -133,16 +137,30 @@ def _verifyResourceProperties(self, job, resource):
133137
config['encoding'])
134138
else:
135139
self.assertTrue(job.encoding is None)
140+
if 'sourceFormat' in config:
141+
self.assertEqual(job.source_format,
142+
config['sourceFormat'])
143+
else:
144+
self.assertTrue(job.source_format is None)
145+
if 'writeDisposition' in config:
146+
self.assertEqual(job.write_disposition,
147+
config['writeDisposition'])
148+
else:
149+
self.assertTrue(job.write_disposition is None)
150+
151+
def _verifyResourceProperties(self, job, resource):
152+
self._verifyReadonlyResourceProperties(job, resource)
153+
154+
config = resource.get('configuration', {}).get('load')
155+
156+
self._verifyBooleanConfigProperties(job, config)
157+
self._verifyEnumConfigProperties(job, config)
158+
136159
if 'fieldDelimiter' in config:
137160
self.assertEqual(job.field_delimiter,
138161
config['fieldDelimiter'])
139162
else:
140163
self.assertTrue(job.field_delimiter is None)
141-
if 'ignoreUnknownValues' in config:
142-
self.assertEqual(job.ignore_unknown_values,
143-
config['ignoreUnknownValues'])
144-
else:
145-
self.assertTrue(job.ignore_unknown_values is None)
146164
if 'maxBadRecords' in config:
147165
self.assertEqual(job.max_bad_records,
148166
config['maxBadRecords'])
@@ -158,16 +176,6 @@ def _verifyResourceProperties(self, job, resource):
158176
config['skipLeadingRows'])
159177
else:
160178
self.assertTrue(job.skip_leading_rows is None)
161-
if 'sourceFormat' in config:
162-
self.assertEqual(job.source_format,
163-
config['sourceFormat'])
164-
else:
165-
self.assertTrue(job.source_format is None)
166-
if 'writeDisposition' in config:
167-
self.assertEqual(job.write_disposition,
168-
config['writeDisposition'])
169-
else:
170-
self.assertTrue(job.write_disposition is None)
171179

172180
def test_ctor(self):
173181
client = _Client(self.PROJECT)

0 commit comments

Comments
 (0)