From 3312ab214393c1172ac72525d68823bfb3dee4a6 Mon Sep 17 00:00:00 2001
From: Yann Leboulanger <asterix@lagaule.org>
Date: Tue, 18 Sep 2012 17:24:51 +0200
Subject: [PATCH] print punycode encoded urls if they contain non-ascii chars.
 Fixes #7204

---
 src/conversation_textview.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/conversation_textview.py b/src/conversation_textview.py
index 8d7cce1a6d..f7fbbe272f 100644
--- a/src/conversation_textview.py
+++ b/src/conversation_textview.py
@@ -49,7 +49,7 @@ from common.fuzzyclock import FuzzyClock
 
 from htmltextview import HtmlTextView
 from common.exceptions import GajimGeneralException
-from common.exceptions import LatexError
+from encodings.punycode import punycode_encode as puny_encode
 
 NOT_SHOWN = 0
 ALREADY_RECEIVED = 1
@@ -1165,6 +1165,11 @@ class ConversationTextview(gobject.GObject):
             # convert all names to TextTag
             all_tags = [(ttt.lookup(t) if isinstance(t, str) else t) for t in all_tags]
             buffer_.insert_with_tags(end_iter, special_text, *all_tags)
+            if 'url' in tags:
+                puny_text = puny_encode(special_text)
+                if not puny_text.endswith('-'):
+                    end_iter = buffer_.get_end_iter()
+                    buffer_.insert(end_iter, " (%s)" % puny_text)
 
     def print_empty_line(self):
         buffer_ = self.tv.get_buffer()
-- 
GitLab