Skip to content

Instantly share code, notes, and snippets.

@mcejp
Last active July 13, 2024 10:51
Show Gist options
  • Save mcejp/2592f98a8c5fefed619d520aed5b0b22 to your computer and use it in GitHub Desktop.
Save mcejp/2592f98a8c5fefed619d520aed5b0b22 to your computer and use it in GitHub Desktop.
Pattern: line writer with indentation
class LineWriter:
def __init__(self, f, indent=0):
self._f = f
self._indent = indent
def indented(self) -> "LineWriter":
return LineWriter(self._f, self._indent + 1)
def write_line(self, s=None):
if s is not None:
self._f.write(" " * self._indent + s + "\n")
else:
self._f.write("\n")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment