diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-03-19 11:05:22 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-03-19 11:05:22 +0100 |
commit | 3039fae5124c00a67283c9b707e4a411149d93b1 (patch) | |
tree | 5d7fde3628825aebeeef3d85d2dfcf09a52116de /ishtar_common/utils_secretary.py | |
parent | b38e35ad05ae5b7d1c3d45436921f573bc9e5ba6 (diff) | |
download | Ishtar-3039fae5124c00a67283c9b707e4a411149d93b1.tar.bz2 Ishtar-3039fae5124c00a67283c9b707e4a411149d93b1.zip |
Format - black: ishtar_common
Diffstat (limited to 'ishtar_common/utils_secretary.py')
-rw-r--r-- | ishtar_common/utils_secretary.py | 61 |
1 files changed, 32 insertions, 29 deletions
diff --git a/ishtar_common/utils_secretary.py b/ishtar_common/utils_secretary.py index b3f55de4f..9100dac15 100644 --- a/ishtar_common/utils_secretary.py +++ b/ishtar_common/utils_secretary.py @@ -25,7 +25,7 @@ def parse_value_unit(value): def replace_line_breaks(value): - return (value or "").replace('\r\n', '\n') + return (value or "").replace("\r\n", "\n") def capfirst_filter(value): @@ -61,7 +61,7 @@ def human_date_filter(value): value = datetime.strptime(value, "%Y-%m-%d") except ValueError: return "" - language_code = settings.LANGUAGE_CODE.split('-') + language_code = settings.LANGUAGE_CODE.split("-") language_code = language_code[0] + "_" + language_code[1].upper() for language_suffix in (".utf8", ""): try: @@ -72,7 +72,7 @@ def human_date_filter(value): return value.strftime(settings.DATE_FORMAT) -def splitpart(value, index, char=',', merge_end=False): +def splitpart(value, index, char=",", merge_end=False): if not value or not index: return "" splited = value.split(char) @@ -88,12 +88,12 @@ class IshtarSecretaryRenderer(Renderer): super(IshtarSecretaryRenderer, self).__init__(*args, **kwargs) self.media_callback = self.ishtar_media_loader self.media_path = settings.MEDIA_ROOT - self.environment.filters['human_date'] = human_date_filter - self.environment.filters['capfirst'] = capfirst_filter - self.environment.filters['lowerfirst'] = lowerfirst_filter - self.environment.filters['capitalize'] = capitalize_filter - self.environment.filters['replace_line_breaks'] = replace_line_breaks - self.environment.filters['splitpart'] = splitpart + self.environment.filters["human_date"] = human_date_filter + self.environment.filters["capfirst"] = capfirst_filter + self.environment.filters["lowerfirst"] = lowerfirst_filter + self.environment.filters["capitalize"] = capitalize_filter + self.environment.filters["replace_line_breaks"] = replace_line_breaks + self.environment.filters["splitpart"] = splitpart def ishtar_media_loader(self, media, *args, **kwargs): res = self.fs_loader(media, *args, **kwargs) @@ -101,65 +101,68 @@ class IshtarSecretaryRenderer(Renderer): return image_file, mime = res if "width" in kwargs: - kwargs['frame_attrs']['svg:width'] = kwargs["width"] + kwargs["frame_attrs"]["svg:width"] = kwargs["width"] if "height" in kwargs: - kwargs['frame_attrs']['svg:height'] = kwargs["height"] + kwargs["frame_attrs"]["svg:height"] = kwargs["height"] if "keep_ratio" in args: image = Image.open(image_file.name) - width, width_unit = parse_value_unit( - kwargs['frame_attrs']['svg:width']) - height, height_unit = parse_value_unit( - kwargs['frame_attrs']['svg:height']) + width, width_unit = parse_value_unit(kwargs["frame_attrs"]["svg:width"]) + height, height_unit = parse_value_unit(kwargs["frame_attrs"]["svg:height"]) if "height" not in kwargs and width: new_height = width * image.height / image.width - kwargs['frame_attrs']['svg:height'] = "{}{}".format( + kwargs["frame_attrs"]["svg:height"] = "{}{}".format( new_height, width_unit ) if "width" not in kwargs and height: new_width = height * image.width / image.height - kwargs['frame_attrs']['svg:width'] = "{}{}".format( + kwargs["frame_attrs"]["svg:width"] = "{}{}".format( new_width, height_unit ) return image_file, mime def _render_xml(self, xml_document, **kwargs): # Prepare the xml object to be processed by jinja2 - self.log.debug('Rendering XML object') + self.log.debug("Rendering XML object") template_string = "" try: self.template_images = dict() self._prepare_document_tags(xml_document) xml_source = xml_document.toxml() - xml_source = xml_source.encode('ascii', 'xmlcharrefreplace') + xml_source = xml_source.encode("ascii", "xmlcharrefreplace") jinja_template = self.environment.from_string( - self._unescape_entities(xml_source.decode('utf-8')) + self._unescape_entities(xml_source.decode("utf-8")) ) result = jinja_template.render(**kwargs) - final_xml = parseString(result.encode('ascii', 'xmlcharrefreplace')) + final_xml = parseString(result.encode("ascii", "xmlcharrefreplace")) if self.template_images: self.replace_images(final_xml) return final_xml except ExpatError as e: - if not 'result' in locals(): + if not "result" in locals(): result = xml_source ### changes try: - near = result.split('\n')[e.lineno -1][e.offset-200:e.offset+200] + near = result.split("\n")[e.lineno - 1][e.offset - 200 : e.offset + 200] except IndexError: near = "..." print(result) ### endchanges - raise ExpatError('ExpatError "%s" at line %d, column %d\nNear of: "[...]%s[...]"' % \ - (ErrorString(e.code), e.lineno, e.offset, near)) + raise ExpatError( + 'ExpatError "%s" at line %d, column %d\nNear of: "[...]%s[...]"' + % (ErrorString(e.code), e.lineno, e.offset, near) + ) except: - self.log.error('Error rendering template:\n%s', - xml_document.toprettyxml(), exc_info=True) + self.log.error( + "Error rendering template:\n%s", + xml_document.toprettyxml(), + exc_info=True, + ) - self.log.error('Unescaped template was:\n{0}'.format(template_string)) + self.log.error("Unescaped template was:\n{0}".format(template_string)) raise finally: - self.log.debug('Rendering xml object finished') + self.log.debug("Rendering xml object finished") |