@@ -865,10 +865,21 @@ def __enter__(self):
865865 def __exit__ (self , type , value , traceback ):
866866 self .close ()
867867
868+ def __getstate__ (self ):
869+ state = self .__dict__ .copy ()
870+ del state ["fd" ]
871+ del state ["data" ]
872+ return state
873+
874+ def __setstate__ (self , state ):
875+ self .__dict__ .update (state )
876+ self .__init__ (self .directory , self .filename , self .suffix )
877+
868878
869879class WdlTable (Table ):
870- def __init__ (self , directory , filename ):
871- super (WdlTable , self ).__init__ (directory , filename , ".rtbw" )
880+
881+ def __init__ (self , directory , filename , suffix = ".rtbw" ):
882+ super (WdlTable , self ).__init__ (directory , filename , suffix )
872883
873884 assert WDL_MAGIC [0 ] == self .read_ubyte (0 )
874885 assert WDL_MAGIC [1 ] == self .read_ubyte (1 )
@@ -1069,8 +1080,8 @@ def probe_wdl_table(self, board):
10691080
10701081class DtzTable (Table ):
10711082
1072- def __init__ (self , directory , filename ):
1073- super (DtzTable , self ).__init__ (directory , filename , ".rtbz" )
1083+ def __init__ (self , directory , filename , suffix = ".rtbz" ):
1084+ super (DtzTable , self ).__init__ (directory , filename , suffix )
10741085
10751086 assert DTZ_MAGIC [0 ] == self .read_ubyte (0 )
10761087 assert DTZ_MAGIC [1 ] == self .read_ubyte (1 )
0 commit comments