Source code for runtimepy.net.server.app.files

"""
A module implementing interfaces for working with file contents.
"""

# built-in
from io import StringIO

# third-party
from svgen.element import Element
from vcorelib.io import IndentedFileWriter

# internal
from runtimepy import PKG_NAME
from runtimepy.net.html import kind_url, write_found_file


[docs] def set_text_to_file(element: Element, *args, **kwargs) -> bool: """Set an element's text to the contents of a file.""" with StringIO() as stream: result = write_found_file( IndentedFileWriter(stream, per_indent=2), *args, **kwargs ) if result: element.text = stream.getvalue() return result
[docs] def set_text_to_kind( element: Element, kind: str, name: str, package: str = PKG_NAME, subdir: str = None, ) -> bool: """Set text to HTML-file contents at a predictable path.""" return set_text_to_file( element, kind_url(kind, name, subdir=subdir, package=package) )