From d9ea64fac77a29531cb2bfaa9250f7e43c031d35 Mon Sep 17 00:00:00 2001 From: Stefan Auditor Date: Thu, 12 Apr 2018 21:35:38 +0200 Subject: [PATCH] Import idna library and move code a bit upwards --- core/admin/mailu/models.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/core/admin/mailu/models.py b/core/admin/mailu/models.py index 7b58fdac..e99d624d 100644 --- a/core/admin/mailu/models.py +++ b/core/admin/mailu/models.py @@ -11,6 +11,20 @@ import time import os import glob import smtplib +import idna + + +class Idna(db.TypeDecorator): + """ Stores a Unicode string in it's IDNA representation (ASCII only) + """ + + impl = db.String + + def process_bind_param(self, value, dialect): + return idna.encode(value) + + def process_result_value(self, value, dialect): + return idna.decode(value) # Many-to-many association table for domain managers @@ -38,19 +52,6 @@ class CommaSeparatedList(db.TypeDecorator): return filter(bool, value.split(",")) -class Idna(db.TypeDecorator): - """ Stores a Unicode string in it's IDNA representation (ASCII only) - """ - - impl = db.String - - def process_bind_param(self, value, dialect): - return value.encode("idna") - - def process_result_value(self, value, dialect): - return value.decode("idna") - - class Base(db.Model): """ Base class for all models """