@@ -43,7 +43,9 @@ def convert(self, json_text: str, table_name: str = "data") -> str:
4343 # Add any extra tables from flattening
4444 for name , columns , rows in self ._extra_tables :
4545 statements .insert (0 , create_table_sql (name , columns , self .dialect ))
46- statements .append (insert_sql (name , list (columns .keys ()), rows , self .dialect ))
46+ statements .append (
47+ insert_sql (name , list (columns .keys ()), rows , self .dialect )
48+ )
4749
4850 return "\n \n " .join (statements )
4951
@@ -84,7 +86,11 @@ def _convert_objects(self, objects: list[dict], table_name: str) -> str:
8486 # Process nested arrays into child tables
8587 for obj in objects :
8688 for key , value in obj .items ():
87- if isinstance (value , list ) and value and all (isinstance (v , dict ) for v in value ):
89+ if (
90+ isinstance (value , list )
91+ and value
92+ and all (isinstance (v , dict ) for v in value )
93+ ):
8894 self ._flatten_nested (table_name , key , value , obj )
8995 else :
9096 columns = self ._infer_columns (objects )
@@ -113,7 +119,9 @@ def _convert_objects(self, objects: list[dict], table_name: str) -> str:
113119
114120 parts = [create_table_sql (table_name , columns , self .dialect )]
115121 if rows :
116- parts .append (insert_sql (table_name , list (columns .keys ()), rows , self .dialect ))
122+ parts .append (
123+ insert_sql (table_name , list (columns .keys ()), rows , self .dialect )
124+ )
117125 return "\n \n " .join (parts )
118126
119127 def _convert_primitives (self , values : list , table_name : str ) -> str :
@@ -163,7 +171,12 @@ def _infer_columns_flattened(
163171 inferred = sql_type_for (sub_value , self .dialect )
164172 if columns [flat_key ] == "TEXT" and inferred != "TEXT" :
165173 columns [flat_key ] = inferred
166- elif isinstance (value , list ) and value and self .flatten and all (isinstance (v , dict ) for v in value ):
174+ elif (
175+ isinstance (value , list )
176+ and value
177+ and self .flatten
178+ and all (isinstance (v , dict ) for v in value )
179+ ):
167180 # Skip - goes to separate table
168181 pass
169182 else :
@@ -194,7 +207,10 @@ def _flatten_nested(
194207 fk_col = f"{ parent_table } _{ parent_ref } " if parent_ref else None
195208 fk_already_exists = fk_col and fk_col in columns
196209 if fk_col and not fk_already_exists :
197- columns = {fk_col : sql_type_for (parent_obj [parent_ref ], self .dialect ), ** columns }
210+ columns = {
211+ fk_col : sql_type_for (parent_obj [parent_ref ], self .dialect ),
212+ ** columns ,
213+ }
198214
199215 rows : list [list [str ]] = []
200216 for nested in nested_objects :
@@ -216,5 +232,9 @@ def _process_flatten(self, objects: list, table_name: str) -> None:
216232 return
217233 for obj in objects :
218234 for key , value in obj .items ():
219- if isinstance (value , list ) and value and all (isinstance (v , dict ) for v in value ):
235+ if (
236+ isinstance (value , list )
237+ and value
238+ and all (isinstance (v , dict ) for v in value )
239+ ):
220240 self ._flatten_nested (table_name , key , value , obj )
0 commit comments