File tree Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Expand file tree Collapse file tree 1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -1819,7 +1819,7 @@ def _refine_defaults_read(
18191819 return kwds
18201820
18211821
1822- def _extract_dialect (kwds : dict [str , str ]) -> csv .Dialect | None :
1822+ def _extract_dialect (kwds : dict [str , str | csv . Dialect ]) -> csv .Dialect | None :
18231823 """
18241824 Extract concrete csv dialect instance.
18251825
@@ -1831,13 +1831,14 @@ def _extract_dialect(kwds: dict[str, str]) -> csv.Dialect | None:
18311831 return None
18321832
18331833 dialect = kwds ["dialect" ]
1834- if dialect in csv .list_dialects ():
1834+ if isinstance ( dialect , str ) and dialect in csv .list_dialects ():
18351835 # get_dialect is typed to return a `_csv.Dialect` for some reason in typeshed
18361836 tdialect = cast (csv .Dialect , csv .get_dialect (dialect ))
1837-
18381837 _validate_dialect (tdialect )
1838+
18391839 else :
1840- tdialect = None
1840+ _validate_dialect (dialect )
1841+ tdialect = cast (csv .Dialect , dialect )
18411842
18421843 return tdialect
18431844
You can’t perform that action at this time.
0 commit comments