@@ -431,8 +431,8 @@ def get_reader(cls, filename):
431
431
raise IOError ('No readers for file "{}"' .format (filename ))
432
432
433
433
@classmethod
434
- def write (cls , filename , data ):
435
- return cls .write_file (filename , data )
434
+ def write (cls , filename , data , with_annotations = True ):
435
+ return cls .write_file (filename , data , with_annotations )
436
436
437
437
@classmethod
438
438
def write_table_metadata (cls , filename , data ):
@@ -798,11 +798,12 @@ def header_flags(data):
798
798
zip (repeat ('meta' ), data .domain .metas )))))
799
799
800
800
@classmethod
801
- def write_headers (cls , write , data ):
801
+ def write_headers (cls , write , data , with_annotations ):
802
802
"""`write` is a callback that accepts an iterable"""
803
803
write (cls .header_names (data ))
804
- write (cls .header_types (data ))
805
- write (cls .header_flags (data ))
804
+ if with_annotations :
805
+ write (cls .header_types (data ))
806
+ write (cls .header_flags (data ))
806
807
807
808
@classmethod
808
809
def formatter (cls , var ):
@@ -915,16 +916,13 @@ def read(self):
915
916
raise ValueError ('Cannot parse dataset {}: {}' .format (self .filename , error )) from error
916
917
917
918
@classmethod
918
- def write_file (cls , filename , data ):
919
+ def write_file (cls , filename , data , with_annotations = True ):
919
920
with cls .open (filename , mode = 'wt' , newline = '' , encoding = 'utf-8' ) as file :
920
921
writer = csv .writer (file , delimiter = cls .DELIMITERS [0 ])
921
- cls .write_headers (writer .writerow , data )
922
+ cls .write_headers (writer .writerow , data , with_annotations )
922
923
cls .write_data (writer .writerow , data )
923
- cls .write_table_metadata (filename , data )
924
-
925
- @classmethod
926
- def write_headers (cls , write , data ):
927
- write (cls .header_names (data ))
924
+ if with_annotations :
925
+ cls .write_table_metadata (filename , data )
928
926
929
927
930
928
class TabReader (CSVReader ):
@@ -951,7 +949,7 @@ def read(self):
951
949
return table
952
950
953
951
@classmethod
954
- def write_file (cls , filename , data ):
952
+ def write_file (cls , filename , data , with_annotations = True ):
955
953
with cls .open (filename , 'wb' ) as f :
956
954
pickle .dump (data , f , pickle .HIGHEST_PROTOCOL )
957
955
@@ -1062,7 +1060,7 @@ def write_graph(cls, filename, graph):
1062
1060
tree .export_graphviz (graph , out_file = cls .open (filename , 'wt' ))
1063
1061
1064
1062
@classmethod
1065
- def write (cls , filename , tree ):
1063
+ def write (cls , filename , tree , with_annotations ):
1066
1064
if type (tree ) == dict :
1067
1065
tree = tree ['tree' ]
1068
1066
cls .write_graph (filename , tree )
0 commit comments