############################################################################### # # Theme - A class for writing the Excel XLSX Worksheet file. # # SPDX-License-Identifier: BSD-2-Clause # Copyright 2013-2022, John McNamara, jmcnamara@cpan.org # from io import StringIO class Theme(object): """ A class for writing the Excel XLSX Theme file. """ ########################################################################### # # Public API. # ########################################################################### def __init__(self): """ Constructor. """ super(Theme, self).__init__() self.fh = None self.internal_fh = False ########################################################################### # # Private API. # ########################################################################### def _assemble_xml_file(self): # Assemble and write the XML file. self._write_theme_file() if self.internal_fh: self.fh.close() def _set_xml_writer(self, filename): # Set the XML writer filehandle for the object. if isinstance(filename, StringIO): self.internal_fh = False self.fh = filename else: self.internal_fh = True self.fh = open(filename, mode='w', encoding='utf-8') ########################################################################### # # XML methods. # ########################################################################### def _write_theme_file(self): # Write a default theme.xml file. default_theme = """\n""" self.fh.write(default_theme)