Spaces:
Running
on
Zero
Running
on
Zero
from contextlib import contextmanager | |
def monkeypatch(obj, attribute_name, new_value): | |
""" | |
Like pytest's monkeypatch, but as a value manager. | |
""" | |
old_value = getattr(obj, attribute_name) | |
try: | |
setattr(obj, attribute_name, new_value) | |
yield | |
finally: | |
setattr(obj, attribute_name, old_value) | |
def indent_block(text, indention=' '): | |
"""This function indents a text block with a default of four spaces.""" | |
temp = '' | |
while text and text[-1] == '\n': | |
temp += text[-1] | |
text = text[:-1] | |
lines = text.split('\n') | |
return '\n'.join(map(lambda s: indention + s, lines)) + temp | |