Python 3, Django 1.7+ compatilibity, some tests.
[fnpdjango.git] / fnpdjango / utils / settings.py
index 39b0a25..43f49ec 100644 (file)
@@ -1,8 +1,18 @@
 """
 Utilities for global settings.
 """
+from django.utils.encoding import python_2_unicode_compatible
 
+# Use Python3 str.
+try:
+    unicode
+except NameError:
+    pass
+else:
+    str = unicode
 
+
+@python_2_unicode_compatible
 class LazyUGettextLazy(object):
     """You can use it to internationalize strings in settings.
 
@@ -14,11 +24,11 @@ class LazyUGettextLazy(object):
     def __init__(self, text):
         self.text = text
 
-    def __unicode__(self):
+    def __str__(self):
         if not self.real:
             from django.utils.translation import ugettext_lazy
             LazyUGettextLazy._ = staticmethod(ugettext_lazy)
             LazyUGettextLazy.real = True
-        return unicode(self._(self.text))
+        return str(self._(self.text))