Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf832e7a

Browse files
authored
feat: adding preserveAsciiControlCharacter to CSVOptions (#1491)
* adding ASCII support for external config* adding tests for preserveAscii...* adding tests for preserveAscii...* changing 'False' to False* linting
1 parent1b31c2f commitf832e7a

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

‎google/cloud/bigquery/external_config.py‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,6 +418,20 @@ def encoding(self):
418418
defencoding(self,value):
419419
self._properties["encoding"]=value
420420

421+
@property
422+
defpreserve_ascii_control_characters(self):
423+
"""bool: Indicates if the embedded ASCII control characters
424+
(the first 32 characters in the ASCII-table, from '\x00' to '\x1F') are preserved.
425+
426+
See
427+
https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#CsvOptions.FIELDS.preserve_ascii_control_characters
428+
"""
429+
returnself._properties.get("preserveAsciiControlCharacters")
430+
431+
@preserve_ascii_control_characters.setter
432+
defpreserve_ascii_control_characters(self,value):
433+
self._properties["preserveAsciiControlCharacters"]=value
434+
421435
@property
422436
deffield_delimiter(self):
423437
"""str: The separator for fields in a CSV file. Defaults to comma (',').

‎tests/unit/test_external_config.py‎

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ def test_from_api_repr_csv(self):
248248
"allowQuotedNewlines":True,
249249
"allowJaggedRows":False,
250250
"encoding":"encoding",
251+
"preserveAsciiControlCharacters":False,
251252
},
252253
},
253254
)
@@ -263,6 +264,7 @@ def test_from_api_repr_csv(self):
263264
self.assertEqual(ec.options.allow_quoted_newlines,True)
264265
self.assertEqual(ec.options.allow_jagged_rows,False)
265266
self.assertEqual(ec.options.encoding,"encoding")
267+
self.assertEqual(ec.options.preserve_ascii_control_characters,False)
266268

267269
got_resource=ec.to_api_repr()
268270

@@ -283,6 +285,7 @@ def test_to_api_repr_csv(self):
283285
options.quote_character="quote"
284286
options.skip_leading_rows=123
285287
options.allow_jagged_rows=False
288+
options.preserve_ascii_control_characters=False
286289
ec.csv_options=options
287290

288291
exp_resource= {
@@ -294,6 +297,7 @@ def test_to_api_repr_csv(self):
294297
"allowQuotedNewlines":True,
295298
"allowJaggedRows":False,
296299
"encoding":"encoding",
300+
"preserveAsciiControlCharacters":False,
297301
},
298302
}
299303

@@ -514,17 +518,23 @@ def test_csv_options_getter_and_setter(self):
514518
fromgoogle.cloud.bigquery.external_configimportCSVOptions
515519

516520
options=CSVOptions.from_api_repr(
517-
{"allowJaggedRows":True,"allowQuotedNewlines":False}
521+
{
522+
"allowJaggedRows":True,
523+
"allowQuotedNewlines":False,
524+
"preserveAsciiControlCharacters":False,
525+
}
518526
)
519527
ec=external_config.ExternalConfig(external_config.ExternalSourceFormat.CSV)
520528

521529
self.assertIsNone(ec.csv_options.allow_jagged_rows)
522530
self.assertIsNone(ec.csv_options.allow_quoted_newlines)
531+
self.assertIsNone(ec.csv_options.preserve_ascii_control_characters)
523532

524533
ec.csv_options=options
525534

526535
self.assertTrue(ec.csv_options.allow_jagged_rows)
527536
self.assertFalse(ec.csv_options.allow_quoted_newlines)
537+
self.assertFalse(ec.csv_options.preserve_ascii_control_characters)
528538
self.assertIs(ec.options._properties,ec._properties[CSVOptions._RESOURCE_NAME])
529539
self.assertIs(
530540
ec.csv_options._properties,ec._properties[CSVOptions._RESOURCE_NAME]
@@ -848,6 +858,7 @@ def test_to_api_repr(self):
848858
options.allow_quoted_newlines=True
849859
options.allow_jagged_rows=False
850860
options.encoding="UTF-8"
861+
options.preserve_ascii_control_characters=False
851862

852863
resource=options.to_api_repr()
853864

@@ -860,6 +871,7 @@ def test_to_api_repr(self):
860871
"allowQuotedNewlines":True,
861872
"allowJaggedRows":False,
862873
"encoding":"UTF-8",
874+
"preserveAsciiControlCharacters":False,
863875
},
864876
)
865877

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp