From 3d6dff41c87a5b106a0279e993365079c1a18764 Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner Date: Wed, 15 Feb 2017 22:24:01 -0600 Subject: [PATCH] Fix unicode arrows on Py2 (Closes #30 on Gitlab) --- loopy/kernel/__init__.py | 7 +++++++ loopy/kernel/tools.py | 10 +++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/loopy/kernel/__init__.py b/loopy/kernel/__init__.py index 5dff5e53c..3c1aef881 100644 --- a/loopy/kernel/__init__.py +++ b/loopy/kernel/__init__.py @@ -1280,6 +1280,13 @@ class LoopKernel(ImmutableRecordWithoutPickling): return "\n".join(lines) def __str__(self): + if six.PY3: + return self.stringify() + else: + # Path of least resistance... + return self.stringify().encode("utf-8") + + def __unicode__(self): return self.stringify() # }}} diff --git a/loopy/kernel/tools.py b/loopy/kernel/tools.py index 754507026..e7656db58 100644 --- a/loopy/kernel/tools.py +++ b/loopy/kernel/tools.py @@ -1183,7 +1183,7 @@ def draw_dependencies_as_unicode_arrows( def make_extender(): result = n_columns[0] * [" "] for col, (_, updown) in six.iteritems(columns_in_use): - result[col] = do_flag_downward("│", updown) + result[col] = do_flag_downward(u"│", updown) return result @@ -1198,7 +1198,7 @@ def draw_dependencies_as_unicode_arrows( if dep_key not in dep_to_column: col = dep_to_column[dep_key] = find_free_column() columns_in_use[col] = (rdep, "up") - row[col] = "↱" + row[col] = u"↱" for dep in insn.depends_on: assert dep != insn.id @@ -1206,15 +1206,15 @@ def draw_dependencies_as_unicode_arrows( if dep_key not in dep_to_column: col = dep_to_column[dep_key] = find_free_column() columns_in_use[col] = (dep, "down") - row[col] = do_flag_downward("┌", "down") + row[col] = do_flag_downward(u"┌", "down") for col, (end, updown) in list(six.iteritems(columns_in_use)): if insn.id == end: del columns_in_use[col] if updown == "up": - row[col] = "└" + row[col] = u"└" else: - row[col] = do_flag_downward("↳", updown) + row[col] = do_flag_downward(u"↳", updown) extender = make_extender() -- GitLab