unicode and back.
"""
-import sys
-import os
-import re
+import sys, os, re, locale
+from types import NoneType
+
from allmydata.util.assertutil import precondition
from twisted.python import usage
-import locale
from allmydata.util import log
from allmydata.util.fileutil import abspath_expanduser_unicode
return s
return s.encode('utf-8')
+def from_utf8_or_none(s):
+ precondition(isinstance(s, (NoneType, str)), s)
+ if s is None:
+ return s
+ return s.decode('utf-8')
+
PRINTABLE_ASCII = re.compile(r'^[\n\r\x20-\x7E]*$', re.DOTALL)
PRINTABLE_8BIT = re.compile(r'^[\n\r\x20-\x7E\x80-\xFF]*$', re.DOTALL)