]> Frank Brehm's Git Trees - pixelpark/admin-tools.git/commitdiff
Implementing IDNA translation
authorFrank Brehm <frank.brehm@pixelpark.com>
Wed, 28 Feb 2018 11:37:31 +0000 (12:37 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Wed, 28 Feb 2018 11:37:31 +0000 (12:37 +0100)
pp_lib/idna_xlate.py

index d75da15fa13f5840bebd8ad110ba47a3f8d06afe..86f612c8cfd26d84a9abca18c3b4a31a88918d1a 100644 (file)
@@ -27,7 +27,7 @@ try:
 except ImportError:
     from .global_version import __version__ as my_version
 
-__version__ = '0.1.0'
+__version__ = '0.2.1'
 LOG = logging.getLogger(__name__)
 
 
@@ -92,7 +92,18 @@ class IdnaXlateApp(PpApplication):
 
         for item in self.args.items:
 
-            print(" * {i!r}:".format(i=item))
+            if item == 'xn--':
+                print(" * {}".format(self.colored(
+                    "Invalid item 'xn--'", ('BOLD', 'RED'))))
+                continue
+
+            item_idna = item
+            if 'xn--' in item:
+                item_idna = to_str(to_bytes(item).decode('idna'))
+            else:
+                item_idna = to_str(item.encode('idna'))
+
+            print(" * {i!r}: {p!r}".format(i=item, p=item_idna))
 
 # =============================================================================