def convert_to_unicode(text):
    "Converts `text` to Unicode (if it's not already), assuming utf-8 input."
    if six.PY3:
        if isinstance(text, str):
            return text
        elif isinstance(text, bytes):
            return text.decode('utf-8', 'ignore')
        else:
            raise ValueError(('Unsupported string type: %s' % type(text)))
    elif six.PY2:
        if isinstance(text, str):
            return text.decode('utf-8', 'ignore')
        elif isinstance(text, unicode):
            return text
        else:
            raise ValueError(('Unsupported string type: %s' % type(text)))
    else:
        raise ValueError('Not running on Python2 or Python 3?')
Converts `text` to Unicode (if it's not already), assuming utf-8 input.
def convert_to_unicode(text):
    
    if six.PY3:
        if isinstance(text, str):
            return text
        elif isinstance(text, bytes):
            return text.decode('utf-8', 'ignore')
        else:
            raise ValueError(('Unsupported string type: %s' % type(text)))
    elif six.PY2:
        if isinstance(text, str):
            return text.decode('utf-8', 'ignore')
        elif isinstance(text, unicode):
            return text
        else:
            raise ValueError(('Unsupported string type: %s' % type(text)))
    else:
        raise ValueError('Not running on Python2 or Python 3?')