File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -191,19 +191,24 @@ def save(self, fp: str | IO[str]) -> None:
191191 if self .rawmode :
192192 msg = "palette contains raw palette data"
193193 raise ValueError (msg )
194+ close_fp = False
194195 if isinstance (fp , str ):
195196 fp = open (fp , "w" )
196- fp .write ("# Palette\n " )
197- fp .write (f"# Mode: { self .mode } \n " )
198- for i in range (256 ):
199- fp .write (f"{ i } " )
200- for j in range (i * len (self .mode ), (i + 1 ) * len (self .mode )):
201- try :
202- fp .write (f" { self .palette [j ]} " )
203- except IndexError :
204- fp .write (" 0" )
205- fp .write ("\n " )
206- fp .close ()
197+ close_fp = True
198+ try :
199+ fp .write ("# Palette\n " )
200+ fp .write (f"# Mode: { self .mode } \n " )
201+ for i in range (256 ):
202+ fp .write (f"{ i } " )
203+ for j in range (i * len (self .mode ), (i + 1 ) * len (self .mode )):
204+ try :
205+ fp .write (f" { self .palette [j ]} " )
206+ except IndexError :
207+ fp .write (" 0" )
208+ fp .write ("\n " )
209+ finally :
210+ if close_fp :
211+ fp .close ()
207212
208213
209214# --------------------------------------------------------------------
You can’t perform that action at this time.
0 commit comments