@@ -953,14 +953,16 @@ def insert_upsert_implementation(
953953 decoded = io .TextIOWrapper (file , encoding = encoding )
954954
955955 tracker = None
956- if csv or tsv :
957- if sniff :
958- # Read first 2048 bytes and use that to detect
959- first_bytes = sniff_buffer .peek (2048 )
960- dialect = csv_std .Sniffer ().sniff (first_bytes .decode (encoding , "ignore" ))
961- else :
962- dialect = "excel-tab" if tsv else "excel"
963- with file_progress (decoded , silent = silent ) as decoded :
956+ with file_progress (decoded , silent = silent ) as decoded :
957+ if csv or tsv :
958+ if sniff :
959+ # Read first 2048 bytes and use that to detect
960+ first_bytes = sniff_buffer .peek (2048 )
961+ dialect = csv_std .Sniffer ().sniff (
962+ first_bytes .decode (encoding , "ignore" )
963+ )
964+ else :
965+ dialect = "excel-tab" if tsv else "excel"
964966 csv_reader_args = {"dialect" : dialect }
965967 if delimiter :
966968 csv_reader_args ["delimiter" ] = delimiter
@@ -977,24 +979,24 @@ def insert_upsert_implementation(
977979 if detect_types :
978980 tracker = TypeTracker ()
979981 docs = tracker .wrap (docs )
980- elif lines :
981- docs = ({"line" : line .strip ()} for line in decoded )
982- elif text :
983- docs = ({"text" : decoded .read ()},)
984- else :
985- try :
986- if nl :
987- docs = (json .loads (line ) for line in decoded if line .strip ())
988- else :
989- docs = json .load (decoded )
990- if isinstance (docs , dict ):
991- docs = [docs ]
992- except json .decoder .JSONDecodeError :
993- raise click .ClickException (
994- "Invalid JSON - use --csv for CSV or --tsv for TSV files"
995- )
996- if flatten :
997- docs = (dict (_flatten (doc )) for doc in docs )
982+ elif lines :
983+ docs = ({"line" : line .strip ()} for line in decoded )
984+ elif text :
985+ docs = ({"text" : decoded .read ()},)
986+ else :
987+ try :
988+ if nl :
989+ docs = (json .loads (line ) for line in decoded if line .strip ())
990+ else :
991+ docs = json .load (decoded )
992+ if isinstance (docs , dict ):
993+ docs = [docs ]
994+ except json .decoder .JSONDecodeError :
995+ raise click .ClickException (
996+ "Invalid JSON - use --csv for CSV or --tsv for TSV files"
997+ )
998+ if flatten :
999+ docs = (dict (_flatten (doc )) for doc in docs )
9981000
9991001 if convert :
10001002 variable = "row"
0 commit comments