From 29542f61780111a07b457cd9d5385776d9b03d58 Mon Sep 17 00:00:00 2001 From: Povilas Balzaravicius Pawka Date: Wed, 9 Oct 2019 09:27:26 +0300 Subject: [PATCH] Fix TypeError when printing color codes to stdout --- safaribooks.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/safaribooks.py b/safaribooks.py index d66730b..c144666 100644 --- a/safaribooks.py +++ b/safaribooks.py @@ -70,7 +70,13 @@ class Display: self.logger.info(str(message)) # TODO: "utf-8", "replace" def out(self, put): - sys.stdout.write("\r" + " " * self.columns + "\r" + str(put, "utf-8", "replace") + "\n") + pattern = "\r{!s}\r{!s}\n" + try: + s = pattern.format( + " " * self.columns, str(put, "utf-8", "replace")) + except TypeError: + s = pattern.format(" " * self.columns, put) + sys.stdout.write(s) def info(self, message, state=False): self.log(message) @@ -417,7 +423,7 @@ class SafariBooks: if update_referer: # TODO Update Referer HTTP Header - # TODO How about Origin? + # TODO How about Origin? self.HEADERS["referer"] = response.request.url if response.is_redirect and perfom_redirect: