diff --git a/src/python_minifier/module_printer.py b/src/python_minifier/module_printer.py index 0e8468d..662445e 100644 --- a/src/python_minifier/module_printer.py +++ b/src/python_minifier/module_printer.py @@ -13,7 +13,7 @@ class ModulePrinter(ExpressionPrinter): def __init__(self, indent_char='\t'): super(ModulePrinter, self).__init__() - self.indent_char = indent_char + self.printer.indent_char = indent_char def __call__(self, module): """ @@ -30,13 +30,13 @@ def __call__(self, module): self.visit_Module(module) # On Python 2.7, preserve unicode strings to avoid encoding issues code = unicode(self.printer) if sys.version_info[0] < 3 else str(self.printer) - return code.rstrip('\n' + self.indent_char + ';') + return code.rstrip('\n' + self.printer.indent_char + ';') @property def code(self): # On Python 2.7, preserve unicode strings to avoid encoding issues code = unicode(self.printer) if sys.version_info[0] < 3 else str(self.printer) - return code.rstrip('\n' + self.indent_char + ';') + return code.rstrip('\n' + self.printer.indent_char + ';') # region Simple Statements diff --git a/src/python_minifier/token_printer.py b/src/python_minifier/token_printer.py index 32f2d48..acde3f8 100644 --- a/src/python_minifier/token_printer.py +++ b/src/python_minifier/token_printer.py @@ -99,6 +99,7 @@ def __init__(self, prefer_single_line=False, allow_invalid_num_warnings=False): self.indent = 0 self.unicode_literals = False self.previous_token = TokenTypes.NoToken + self.indent_char = '\t' def __str__(self): """Return the output code.""" @@ -287,9 +288,9 @@ def newline(self): if self._code == '': return - self._code = self._code.rstrip('\n\t;') + self._code = self._code.rstrip('\n;' + self.indent_char) self._code += '\n' - self._code += '\t' * self.indent + self._code += self.indent_char * self.indent self.previous_token = TokenTypes.NewLine