Tue, 27 Jul 2010 09:10:10 +0200
Did some more string format conversions.
# -*- coding: utf-8 -*- # Copyright (c) 2008 - 2010 Detlev Offenbach <detlev@die-offenbachs.de> # """ Module implementing the writer class for writing a highlighting styles XML file. """ import time from .XMLWriterBase import XMLWriterBase from .Config import highlightingStylesFileFormatVersion import Preferences class HighlightingStylesWriter(XMLWriterBase): """ Class implementing the writer class for writing a highlighting styles XML file. """ def __init__(self, file, lexers): """ Constructor @param file open file (like) object for writing @param lexers list of lexer objects for which to export the styles """ XMLWriterBase.__init__(self, file) self.lexers = lexers self.email = Preferences.getUser("Email") def writeXML(self): """ Public method to write the XML to the file. """ XMLWriterBase.writeXML(self) self._write('<!DOCTYPE HighlightingStyles SYSTEM "HighlightingStyles-{0}.dtd">'\ .format(highlightingStylesFileFormatVersion)) # add some generation comments self._write("<!-- Eric5 highlighting styles -->") self._write("<!-- Saved: {0} -->".format(time.strftime('%Y-%m-%d, %H:%M:%S'))) self._write("<!-- Author: {0} -->".format(self.escape("{0}".format(self.email)))) # add the main tag self._write('<HighlightingStyles version="{0}">'.format( highlightingStylesFileFormatVersion)) for lexer in self.lexers: self._write(' <Lexer name="{0}">'.format(lexer.language())) for style in lexer.descriptions: self._write(' <Style style="{0:d}" ' 'color="{1}" paper="{2}" font="{3}" eolfill="{4:d}">{5}</Style>'\ .format(style, lexer.color(style).name(), lexer.paper(style).name(), lexer.font(style).toString(), lexer.eolFill(style), self.escape(lexer.description(style))) ) self._write(' </Lexer>') self._write("</HighlightingStyles>", newline = False)