@@ -433,13 +433,16 @@ def _write_token_as_string(self, token, row, col, *args):
433433 if token .startswith ("{=" ) and token .endswith ("}" ):
434434 return self ._write_formula (row , col , * args )
435435
436- if ":" in token :
437- if self .strings_to_urls and re .match ("(ftp|http)s?://" , token ):
438- return self ._write_url (row , col , * args )
439- elif self .strings_to_urls and re .match ("mailto:" , token ):
440- return self ._write_url (row , col , * args )
441- elif self .strings_to_urls and re .match ("(in|ex)ternal:" , token ):
442- return self ._write_url (row , col , * args )
436+ if (
437+ ":" in token
438+ and self .strings_to_urls
439+ and (
440+ re .match ("(ftp|http)s?://" , token )
441+ or re .match ("mailto:" , token )
442+ or re .match ("(in|ex)ternal:" , token )
443+ )
444+ ):
445+ return self ._write_url (row , col , * args )
443446
444447 if self .strings_to_numbers :
445448 try :
@@ -2035,9 +2038,8 @@ def autofit(self):
20352038
20362039 # If the cell is in an autofilter header we add an
20372040 # additional 16 pixels for the dropdown arrow.
2038- if self .filter_cells .get ((row_num , col_num )):
2039- if length > 0 :
2040- length += 16
2041+ if self .filter_cells .get ((row_num , col_num )) and length > 0 :
2042+ length += 16
20412043
20422044 # Add the string length to the lookup table.
20432045 width_max = col_width_max .get (col_num , 0 )
@@ -2575,10 +2577,9 @@ def data_validation(self, first_row, first_col, last_row, last_col, options=None
25752577 # Format date number to the same precision as Excel.
25762578 options ["value" ] = "%.16g" % date_time
25772579
2578- if options ["maximum" ]:
2579- if supported_datetime (options ["maximum" ]):
2580- date_time = self ._convert_date_time (options ["maximum" ])
2581- options ["maximum" ] = "%.16g" % date_time
2580+ if options ["maximum" ] and supported_datetime (options ["maximum" ]):
2581+ date_time = self ._convert_date_time (options ["maximum" ])
2582+ options ["maximum" ] = "%.16g" % date_time
25822583
25832584 # Check that the input title doesn't exceed the maximum length.
25842585 if options .get ("input_title" ) and len (options ["input_title" ]) > 32 :
@@ -8296,47 +8297,47 @@ def _write_ignored_errors(self):
82968297 self ._xml_start_tag ("ignoredErrors" )
82978298
82988299 if self .ignored_errors .get ("number_stored_as_text" ):
8299- range = self .ignored_errors ["number_stored_as_text" ]
8300- self ._write_ignored_error ("numberStoredAsText" , range )
8300+ ignored_range = self .ignored_errors ["number_stored_as_text" ]
8301+ self ._write_ignored_error ("numberStoredAsText" , ignored_range )
83018302
83028303 if self .ignored_errors .get ("eval_error" ):
8303- range = self .ignored_errors ["eval_error" ]
8304- self ._write_ignored_error ("evalError" , range )
8304+ ignored_range = self .ignored_errors ["eval_error" ]
8305+ self ._write_ignored_error ("evalError" , ignored_range )
83058306
83068307 if self .ignored_errors .get ("formula_differs" ):
8307- range = self .ignored_errors ["formula_differs" ]
8308- self ._write_ignored_error ("formula" , range )
8308+ ignored_range = self .ignored_errors ["formula_differs" ]
8309+ self ._write_ignored_error ("formula" , ignored_range )
83098310
8310- if self .ignored_errors .get ("formula_range " ):
8311- range = self .ignored_errors ["formula_range " ]
8312- self ._write_ignored_error ("formulaRange " , range )
8311+ if self .ignored_errors .get ("formula_ignored_range " ):
8312+ ignored_range = self .ignored_errors ["formula_ignored_range " ]
8313+ self ._write_ignored_error ("formulaIgnored_range " , ignored_range )
83138314
83148315 if self .ignored_errors .get ("formula_unlocked" ):
8315- range = self .ignored_errors ["formula_unlocked" ]
8316- self ._write_ignored_error ("unlockedFormula" , range )
8316+ ignored_range = self .ignored_errors ["formula_unlocked" ]
8317+ self ._write_ignored_error ("unlockedFormula" , ignored_range )
83178318
83188319 if self .ignored_errors .get ("empty_cell_reference" ):
8319- range = self .ignored_errors ["empty_cell_reference" ]
8320- self ._write_ignored_error ("emptyCellReference" , range )
8320+ ignored_range = self .ignored_errors ["empty_cell_reference" ]
8321+ self ._write_ignored_error ("emptyCellReference" , ignored_range )
83218322
83228323 if self .ignored_errors .get ("list_data_validation" ):
8323- range = self .ignored_errors ["list_data_validation" ]
8324- self ._write_ignored_error ("listDataValidation" , range )
8324+ ignored_range = self .ignored_errors ["list_data_validation" ]
8325+ self ._write_ignored_error ("listDataValidation" , ignored_range )
83258326
83268327 if self .ignored_errors .get ("calculated_column" ):
8327- range = self .ignored_errors ["calculated_column" ]
8328- self ._write_ignored_error ("calculatedColumn" , range )
8328+ ignored_range = self .ignored_errors ["calculated_column" ]
8329+ self ._write_ignored_error ("calculatedColumn" , ignored_range )
83298330
83308331 if self .ignored_errors .get ("two_digit_text_year" ):
8331- range = self .ignored_errors ["two_digit_text_year" ]
8332- self ._write_ignored_error ("twoDigitTextYear" , range )
8332+ ignored_range = self .ignored_errors ["two_digit_text_year" ]
8333+ self ._write_ignored_error ("twoDigitTextYear" , ignored_range )
83338334
83348335 self ._xml_end_tag ("ignoredErrors" )
83358336
8336- def _write_ignored_error (self , type , range ):
8337+ def _write_ignored_error (self , type , ignored_range ):
83378338 # Write the <ignoredError> element.
83388339 attributes = [
8339- ("sqref" , range ),
8340+ ("sqref" , ignored_range ),
83408341 (type , 1 ),
83418342 ]
83428343
0 commit comments