Skip to content

Commit be5cee2

Browse files
committed
gh-100335 Use correct default attrs for Dialect
1 parent d230125 commit be5cee2

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
@@ -96,14 +96,14 @@ class Dialect:
9696
_name = ""
9797
_valid = False
9898
# placeholders
99-
delimiter = None
100-
quotechar = None
99+
delimiter = ','
100+
quotechar = '"'
101101
escapechar = None
102-
doublequote = None
103-
skipinitialspace = None
104-
lineterminator = None
105-
quoting = None
106-
strict = None
102+
doublequote = True
103+
skipinitialspace = False
104+
lineterminator = '\r\n'
105+
quoting = QUOTE_MINIMAL
106+
strict = False
107107

108108
def __init__(self):
109109
if self.__class__ != Dialect:

Lib/test/test_csv.py

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

141+
def test_default_attrs(self):
142+
class dialect(csv.Dialect):
143+
pass
144+
self.assertEqual(dialect.delimiter, ',')
145+
self.assertEqual(dialect.doublequote, True)
146+
self.assertEqual(dialect.escapechar, None)
147+
self.assertEqual(dialect.lineterminator, '\r\n')
148+
self.assertEqual(dialect.quotechar, '"')
149+
self.assertEqual(dialect.quoting, csv.QUOTE_MINIMAL)
150+
self.assertEqual(dialect.skipinitialspace, False)
151+
self.assertEqual(dialect.strict, False)
152+
141153
def test_reader_kw_attrs(self):
142154
self._test_kw_attrs(csv.reader, [])
143155

@@ -616,6 +628,7 @@ class mydialect(csv.Dialect):
616628
def test_incomplete_dialect(self):
617629
class myexceltsv(csv.Dialect):
618630
delimiter = "\t"
631+
quoting = None
619632
self.assertRaises(csv.Error, myexceltsv)
620633

621634
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)