From ea9b2186d5b30f653d5651d0787bdfca47c10d71 Mon Sep 17 00:00:00 2001 From: FELD Boris Date: Sun, 12 Feb 2012 17:32:59 +0100 Subject: [PATCH] More simple implementation of indent context --- clint/textui/core.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/clint/textui/core.py b/clint/textui/core.py index 3105497..09a678e 100644 --- a/clint/textui/core.py +++ b/clint/textui/core.py @@ -49,14 +49,6 @@ def _indent(indent=0, quote='', indent_char=' '): if len(indent_string): INDENT_STRINGS.append(indent_string) -class IndentContext(object): - - def __enter__(self): - return self - - def __exit__(self, type, value, traceback): - dedent() - # Public def puts(s='', newline=True, stream=STDOUT): @@ -84,7 +76,12 @@ def dedent(): context.""" INDENT_STRINGS.pop() +@contextmanager +def _indent_context(): + yield + dedent() + def indent(indent=4, quote=''): """Indentation context manager.""" _indent(indent, quote) - return IndentContext() + return _indent_context()