From 171e89155573c8e31588d579f7bf51d234953c2e Mon Sep 17 00:00:00 2001 From: Nathan Woodburn Date: Tue, 20 Feb 2024 10:57:12 +1100 Subject: [PATCH] feat: Added emoji display to domain list --- domainLookup.py | 8 +++++++- render.py | 12 +++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/domainLookup.py b/domainLookup.py index d04aeb0..85289ff 100644 --- a/domainLookup.py +++ b/domainLookup.py @@ -168,4 +168,10 @@ def emoji_to_punycode(emoji): try: return emoji.encode("idna").decode("ascii") except Exception as e: - return "" \ No newline at end of file + return emoji + +def punycode_to_emoji(punycode): + try: + return punycode.encode("ascii").decode("idna") + except Exception as e: + return punycode \ No newline at end of file diff --git a/render.py b/render.py index 7f83980..2229394 100644 --- a/render.py +++ b/render.py @@ -2,6 +2,7 @@ import datetime import json import urllib.parse from flask import render_template +from domainLookup import punycode_to_emoji def domains(domains, mobile=False): html = '' @@ -13,12 +14,17 @@ def domains(domains, mobile=False): expires = "No expiration date" paid = domain['value'] paid = paid / 1000000 - + + # Handle punycodes + name = domain['name'] + emoji = punycode_to_emoji(name) + if emoji != name: + name = f'{emoji} ({name})' if not mobile: - html += f'{domain["name"]}{expires} days{paid} HNSManage' + html += f'{name}{expires} days{paid} HNSManage' else: - html += f'{domain["name"]}{expires} days' + html += f'{name}{expires} days' return html