Skip to content

Commit d997c4f

Browse files
committed
gh-100335 Use correct default attrs for Dialect
1 parent 81b17e6 commit d997c4f

3 files changed

Lines changed: 22 additions & 7 deletions

File tree

Lib/csv.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@ class Dialect:
3232
_name = ""
3333
_valid = False
3434
# placeholders
35-
delimiter = None
36-
quotechar = None
35+
delimiter = ','
36+
quotechar = '"'
3737
escapechar = None
38-
doublequote = None
39-
skipinitialspace = None
40-
lineterminator = None
41-
quoting = None
42-
strict = None
38+
doublequote = True
39+
skipinitialspace = False
40+
lineterminator = '\r\n'
41+
quoting = QUOTE_MINIMAL
42+
strict = False
4343

4444
def __init__(self):
4545
if self.__class__ != Dialect:

Lib/test/test_csv.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,18 @@ def _test_kw_attrs(self, ctor, *args):
9999
self.assertIs(obj.dialect.skipinitialspace, True)
100100
self.assertIs(obj.dialect.strict, True)
101101

102+
def test_default_attrs(self):
103+
class dialect(csv.Dialect):
104+
pass
105+
self.assertEqual(dialect.delimiter, ',')
106+
self.assertEqual(dialect.doublequote, True)
107+
self.assertEqual(dialect.escapechar, None)
108+
self.assertEqual(dialect.lineterminator, '\r\n')
109+
self.assertEqual(dialect.quotechar, '"')
110+
self.assertEqual(dialect.quoting, csv.QUOTE_MINIMAL)
111+
self.assertEqual(dialect.skipinitialspace, False)
112+
self.assertEqual(dialect.strict, False)
113+
102114
def test_reader_kw_attrs(self):
103115
self._test_kw_attrs(csv.reader, [])
104116

@@ -484,6 +496,7 @@ class mydialect(csv.Dialect):
484496
def test_incomplete_dialect(self):
485497
class myexceltsv(csv.Dialect):
486498
delimiter = "\t"
499+
quoting = None
487500
self.assertRaises(csv.Error, myexceltsv)
488501

489502
def test_space_dialect(self):
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Set the attribute values of :class:`csv.Dialect` to their documented
2+
defaults, see :ref:`csv-fmt-params`.

0 commit comments

Comments
 (0)