@@ -146,7 +146,8 @@ def _bitmap(self, header=0, offset=0):
146146 file_info ["a_mask" ],
147147 )
148148 else :
149- raise OSError (f"Unsupported BMP header type ({ file_info ['header_size' ]} )" )
149+ msg = f"Unsupported BMP header type ({ file_info ['header_size' ]} )"
150+ raise OSError (msg )
150151
151152 # ------------------ Special case : header is reported 40, which
152153 # ---------------------- is shorter than real size for bpp >= 16
@@ -164,7 +165,8 @@ def _bitmap(self, header=0, offset=0):
164165 # ---------------------- Check bit depth for unusual unsupported values
165166 self .mode , raw_mode = BIT2MODE .get (file_info ["bits" ], (None , None ))
166167 if self .mode is None :
167- raise OSError (f"Unsupported BMP pixel depth ({ file_info ['bits' ]} )" )
168+ msg = f"Unsupported BMP pixel depth ({ file_info ['bits' ]} )"
169+ raise OSError (msg )
168170
169171 # ---------------- Process BMP with Bitfields compression (not palette)
170172 decoder_name = "raw"
@@ -205,23 +207,27 @@ def _bitmap(self, header=0, offset=0):
205207 ):
206208 raw_mode = MASK_MODES [(file_info ["bits" ], file_info ["rgb_mask" ])]
207209 else :
208- raise OSError ("Unsupported BMP bitfields layout" )
210+ msg = "Unsupported BMP bitfields layout"
211+ raise OSError (msg )
209212 else :
210- raise OSError ("Unsupported BMP bitfields layout" )
213+ msg = "Unsupported BMP bitfields layout"
214+ raise OSError (msg )
211215 elif file_info ["compression" ] == self .RAW :
212216 if file_info ["bits" ] == 32 and header == 22 : # 32-bit .cur offset
213217 raw_mode , self .mode = "BGRA" , "RGBA"
214218 elif file_info ["compression" ] in (self .RLE8 , self .RLE4 ):
215219 decoder_name = "bmp_rle"
216220 else :
217- raise OSError (f"Unsupported BMP compression ({ file_info ['compression' ]} )" )
221+ msg = f"Unsupported BMP compression ({ file_info ['compression' ]} )"
222+ raise OSError (msg )
218223
219224 # --------------- Once the header is processed, process the palette/LUT
220225 if self .mode == "P" : # Paletted for 1, 4 and 8 bit images
221226
222227 # ---------------------------------------------------- 1-bit images
223228 if not (0 < file_info ["colors" ] <= 65536 ):
224- raise OSError (f"Unsupported BMP Palette size ({ file_info ['colors' ]} )" )
229+ msg = f"Unsupported BMP Palette size ({ file_info ['colors' ]} )"
230+ raise OSError (msg )
225231 else :
226232 padding = file_info ["palette_padding" ]
227233 palette = read (padding * file_info ["colors" ])
@@ -271,7 +277,8 @@ def _open(self):
271277 head_data = self .fp .read (14 )
272278 # choke if the file does not have the required magic bytes
273279 if not _accept (head_data ):
274- raise SyntaxError ("Not a BMP file" )
280+ msg = "Not a BMP file"
281+ raise SyntaxError (msg )
275282 # read the start position of the BMP image data (u32)
276283 offset = i32 (head_data , 10 )
277284 # load bitmap information (offset=raster info)
@@ -383,7 +390,8 @@ def _save(im, fp, filename, bitmap_header=True):
383390 try :
384391 rawmode , bits , colors = SAVE [im .mode ]
385392 except KeyError as e :
386- raise OSError (f"cannot write mode { im .mode } as BMP" ) from e
393+ msg = f"cannot write mode { im .mode } as BMP"
394+ raise OSError (msg ) from e
387395
388396 info = im .encoderinfo
389397
@@ -411,7 +419,8 @@ def _save(im, fp, filename, bitmap_header=True):
411419 offset = 14 + header + colors * 4
412420 file_size = offset + image
413421 if file_size > 2 ** 32 - 1 :
414- raise ValueError ("File size is too large for the BMP format" )
422+ msg = "File size is too large for the BMP format"
423+ raise ValueError (msg )
415424 fp .write (
416425 b"BM" # file type (magic)
417426 + o32 (file_size ) # file size
0 commit comments