File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -53,18 +53,16 @@ def __new__(
5353 if filename is None :
5454 return Printer (* args , ** kwargs )
5555
56+ lookup = {
57+ ".asc" : ASCWriter ,
58+ ".blf" : BLFWriter ,
59+ ".csv" : CSVWriter ,
60+ ".db" : SqliteWriter ,
61+ ".log" : CanutilsLogWriter ,
62+ ".txt" : Printer ,
63+ }
5664 suffix = pathlib .PurePath (filename ).suffix
57- if suffix == ".asc" :
58- return ASCWriter (filename , * args , ** kwargs )
59- if suffix == ".blf" :
60- return BLFWriter (filename , * args , ** kwargs )
61- if suffix == ".csv" :
62- return CSVWriter (filename , * args , ** kwargs )
63- if suffix == ".db" :
64- return SqliteWriter (filename , * args , ** kwargs )
65- if suffix == ".log" :
66- return CanutilsLogWriter (filename , * args , ** kwargs )
67- if suffix == ".txt" :
68- return Printer (filename , * args , ** kwargs )
69-
70- raise ValueError (f'unknown file type "{ filename } "' )
65+ try :
66+ return lookup [suffix ](filename , * args , ** kwargs )
67+ except KeyError :
68+ raise ValueError (f'unknown file type "{ suffix } "' )
You can’t perform that action at this time.
0 commit comments