/usr/lib/python2.7/dist-packages/easyprocess/unicodeutil.py is in python-easyprocess 0.2.3-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | import logging
import shlex
import sys
import unicodedata
log = logging.getLogger(__name__)
PY3 = sys.version_info[0] >= 3
if PY3:
    string_types = str,
else:
    string_types = basestring,
class EasyProcessUnicodeError(Exception):
    pass
def split_command(cmd):
    '''
     - cmd is string list -> nothing to do
     - cmd is string -> split it using shlex
    :param cmd: string ('ls -l') or list of strings (['ls','-l'])
    :rtype: string list
    '''
    if not isinstance(cmd, string_types):
        # cmd is string list
        pass
    else:
        if not PY3:
            # cmd is string
            # The shlex module currently does not support Unicode input (in
            # 2.x)!
            if isinstance(cmd, unicode):
                try:
                    cmd = unicodedata.normalize(
                        'NFKD', cmd).encode('ascii', 'strict')
                except UnicodeEncodeError:
                    raise EasyProcessUnicodeError('unicode command "%s" can not be processed.' % cmd +
                                                  'Use string list instead of string')
                log.debug('unicode is normalized')
        cmd = shlex.split(cmd)
    return cmd
def uniencode(s):
    if PY3:
        pass
#        s=s.encode()
    else:
        if isinstance(s, unicode):
            s = s.encode('utf-8')
    return s
def unidecode(s):
    if PY3:
        s = s.decode()
    else:
        if isinstance(s, str):
            s = s.decode('utf-8', 'ignore')
    return s
 |