stages/email: fix loading of static files when path is a directory

This commit is contained in:
Jens Langhammer 2020-09-13 18:24:49 +02:00
parent bebeff9f7f
commit 151374f565
1 changed files with 5 additions and 6 deletions

View File

@ -12,7 +12,7 @@ register = template.Library()
def inline_static_ascii(path: str) -> str: def inline_static_ascii(path: str) -> str:
"""Inline static asset. Doesn't check file contents, plain text is assumed. """Inline static asset. Doesn't check file contents, plain text is assumed.
If no file could be found, original path is returned""" If no file could be found, original path is returned"""
result = finders.find(path) result = Path(finders.find(path))
if result: if result:
with open(result) as _file: with open(result) as _file:
return _file.read() return _file.read()
@ -23,10 +23,9 @@ def inline_static_ascii(path: str) -> str:
def inline_static_binary(path: str) -> str: def inline_static_binary(path: str) -> str:
"""Inline static asset. Uses file extension for base64 block. If no file could be found, """Inline static asset. Uses file extension for base64 block. If no file could be found,
path is returned.""" path is returned."""
result = finders.find(path) result = Path(finders.find(path))
suffix = Path(path).suffix if result and result.is_file():
if result:
with open(result) as _file: with open(result) as _file:
b64content = b64encode(_file.read()) b64content = b64encode(_file.read().encode())
return f"data:image/{suffix};base64,{b64content.decode('utf-8')}" return f"data:image/{result.suffix};base64,{b64content.decode('utf-8')}"
return path return path