oca-ocb-core/odoo-bringout-oca-ocb-base/odoo/_monkeypatches/xlwt.py
Ernad Husremovic 991d2234ca 19.0 vanilla
2025-10-03 18:07:25 +02:00

21 lines
567 B
Python

"""
Patch xlwt to add some sanitization to respect the excel sheet name
restrictions as the sheet name is often translatable, can not control the input
"""
import re
import xlwt
class PatchedWorkbook(xlwt.Workbook):
def add_sheet(self, name, cell_overwrite_ok=False):
# invalid Excel character: []:*?/\
name = re.sub(r'[\[\]:*?/\\]', '', name)
# maximum size is 31 characters
name = name[:31]
return super().add_sheet(name, cell_overwrite_ok=cell_overwrite_ok)
def patch_module():
xlwt.Workbook = PatchedWorkbook