Example #1
0
    def init_styles(self, workbook):
        self.styles = {
            'default':          xlwt.Style.default_style,
            'headline':         xlwt.easyxf('font: bold on, height 400; alignment: horiz centre, vert centre, wrap on; borders: bottom medium', num_format_str="0.0"),
            'evaluation':       xlwt.easyxf('alignment: horiz centre, wrap on, rota 90; borders: left medium, top medium, right medium, bottom medium'),
            'total_voters':     xlwt.easyxf('alignment: horiz centre; borders: left medium, right medium'),
            'evaluation_rate':  xlwt.easyxf('alignment: horiz centre; borders: left medium, bottom medium, right medium'),
            'evaluation_weight': xlwt.easyxf('alignment: horiz centre; borders: left medium, right medium'),
            'bold':             xlwt.easyxf('font: bold on'),
            'italic':           xlwt.easyxf('font: italic on'),
            'border_left_right': xlwt.easyxf('borders: left medium, right medium'),
            'border_top_bottom_right': xlwt.easyxf('borders: top medium, bottom medium, right medium'),
            'border_top':       xlwt.easyxf('borders: top medium'),
            'degree':           xlwt.easyxf('alignment: wrap on; borders: left medium, right medium'),
        }

        grade_base_style = 'pattern: pattern solid, fore_colour {}; alignment: horiz centre; font: bold on; borders: left medium, right medium'
        for i in range(0, self.NUM_GRADE_COLORS):
            grade = 1 + i * self.STEP
            color = get_grade_color(grade)
            palette_index = self.CUSTOM_COLOR_START + i
            style_name = self.grade_to_style(grade)
            color_name = style_name + "_color"
            self.create_color(workbook, color_name, palette_index, color)
            self.create_style(grade_base_style, style_name, color_name)
Example #2
0
    def init_grade_styles(cls):
        """
        Adds the grade styles to cls.styles and as a xlwt identifier.
        This also notes all registered colors in cls.COLOR_MAPPINGS for the instances.

        This method should only be called once, right after the class definition.
        Instances need the styles, but they should only be registered once for xlwt.
        """

        if len(cls.COLOR_MAPPINGS) > 0:
            # Method has already been called (probably in another import of this file).
            warnings.warn(
                "ResultsExporter.init_grade_styles has been called, "
                "although the styles have already been initialized. "
                "This can happen, if the file is imported / run multiple "
                "times in one application run.", ImportWarning)
            return

        grade_base_style = 'pattern: pattern solid, fore_colour {}; alignment: horiz centre; font: bold on; borders: left medium, right medium'
        for i in range(0, cls.NUM_GRADE_COLORS):
            grade = 1 + i * cls.STEP
            color = get_grade_color(grade)
            palette_index = cls.CUSTOM_COLOR_START + i
            style_name = cls.grade_to_style(grade)
            color_name = style_name + "_color"
            xlwt.add_palette_colour(color_name, palette_index)
            cls.COLOR_MAPPINGS[palette_index] = color
            cls.styles[style_name] = xlwt.easyxf(
                grade_base_style.format(color_name), num_format_str="0.0")
Example #3
0
    def init_styles(self, workbook):
        self.styles = {
            'default':       xlwt.Style.default_style,
            'avg':           xlwt.easyxf('alignment: horiz centre; font: bold on; borders: left medium, top medium, bottom medium'),
            'headline':      xlwt.easyxf('font: bold on, height 400; alignment: horiz centre, vert centre, wrap on', num_format_str="0.0"),
            'course':        xlwt.easyxf('alignment: horiz centre, wrap on, rota 90; borders: left medium, top medium, right medium'),
            'total_voters':  xlwt.easyxf('alignment: horiz centre; borders: left medium, bottom medium, right medium'),
            'bold':          xlwt.easyxf('font: bold on'),
            'border_left':   xlwt.easyxf('borders: left medium'),
            'border_right':  xlwt.easyxf('borders: right medium'),
            'border_top_bottom_right': xlwt.easyxf('borders: top medium, bottom medium, right medium')}

        grade_base_style = 'pattern: pattern solid, fore_colour {}; alignment: horiz centre; font: bold on; borders: left medium'
        for i in range(0, self.NUM_GRADE_COLORS):
            grade = 1 + i * self.STEP
            color = get_grade_color(grade)
            palette_index = self.CUSTOM_COLOR_START + i
            style_name = self.grade_to_style(grade)
            color_name = style_name + "_color"
            self.create_color(workbook, color_name, palette_index, color)
            self.create_style(grade_base_style, style_name, color_name)
            self.create_style(grade_base_style + ', right medium', style_name + '_total', color_name)

        deviation_base_style = 'pattern: pattern solid, fore_colour {}; alignment: horiz centre; borders: right medium'
        for i in range(0, self.NUM_DEVIATION_COLORS):
            deviation = i * self.STEP
            color = get_deviation_color(deviation)
            palette_index = self.CUSTOM_COLOR_START + self.NUM_GRADE_COLORS + i
            style_name = self.deviation_to_style(deviation)
            color_name = style_name + "_color"
            self.create_color(workbook, color_name, palette_index, color)
            self.create_style(deviation_base_style, style_name, color_name)
            self.create_style(deviation_base_style + ', left medium', style_name + '_total', color_name)
Example #4
0
    def init_styles(self, workbook):
        self.styles = {
            'default':
            xlwt.Style.default_style,
            'headline':
            xlwt.easyxf(
                'font: bold on, height 400; alignment: horiz centre, vert centre, wrap on; borders: bottom medium',
                num_format_str="0.0"),
            'evaluation':
            xlwt.easyxf(
                'alignment: horiz centre, wrap on, rota 90; borders: left medium, top medium, right medium, bottom medium'
            ),
            'total_voters':
            xlwt.easyxf(
                'alignment: horiz centre; borders: left medium, right medium'),
            'evaluation_rate':
            xlwt.easyxf(
                'alignment: horiz centre; borders: left medium, bottom medium, right medium'
            ),
            'evaluation_weight':
            xlwt.easyxf(
                'alignment: horiz centre; borders: left medium, right medium'),
            'bold':
            xlwt.easyxf('font: bold on'),
            'italic':
            xlwt.easyxf('font: italic on'),
            'border_left_right':
            xlwt.easyxf('borders: left medium, right medium'),
            'border_top_bottom_right':
            xlwt.easyxf('borders: top medium, bottom medium, right medium'),
            'border_top':
            xlwt.easyxf('borders: top medium'),
            'degree':
            xlwt.easyxf(
                'alignment: wrap on; borders: left medium, right medium'),
        }

        grade_base_style = 'pattern: pattern solid, fore_colour {}; alignment: horiz centre; font: bold on; borders: left medium, right medium'
        for i in range(0, self.NUM_GRADE_COLORS):
            grade = 1 + i * self.STEP
            color = get_grade_color(grade)
            palette_index = self.CUSTOM_COLOR_START + i
            style_name = self.grade_to_style(grade)
            color_name = style_name + "_color"
            self.create_color(workbook, color_name, palette_index, color)
            self.create_style(grade_base_style, style_name, color_name)
Example #5
0
def gradecolor(grade):
    return "rgb({}, {}, {})".format(*get_grade_color(grade))  # pylint: disable=consider-using-f-string
Example #6
0
def gradecolor(grade):
    return 'rgb({}, {}, {})'.format(*get_grade_color(grade))
Example #7
0
def gradecolor(grade):
    return 'rgb({}, {}, {})'.format(*get_grade_color(grade))
Example #8
0
def gradecolor(grade):
    return "rgb({}, {}, {})".format(*get_grade_color(grade))