#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : Leslee
# @Email    : leelovesc@gmail.com
# @Time    : 2019.10.24 13:59
import os
import sys

try:
    import pkg_resources
    get_module_res = lambda *res:pkg_resources.resource_stream(__name__,
                                                               os.path.join(*res))
except ImportError:
    get_module_res = lambda *res:open(os.path.normpath(os.path.join(
                                    os.getcwd(),os.path.dirname(__file__),*res)),'rb')

PY2 = sys.version_info[0] == 2

default_encoding = sys.getfilesystemencoding()

if PY2:
    text_type = unicode
    string_types = (str,unicode)
    iterkeys = lambda d:d.iterkeys()
    itervalues = lambda d:d.itervalues()
    iteritems = lambda d:d.iteritems()
else:
    text_type = str
    string_types = (str,)
    xrange = range

    iterkeys = lambda d:iter(d.keys())
    itervalues = lambda d:iter(d.values())
    iteritems = lambda d:iter(d.items())

def strdecode(sentence):
    if not isinstance(sentence,text_type):
        try:
            sentence = sentence.decode('utf-8')
        except UnicodeDecodeError:
            sentence = sentence.decode('gbk','ignore')
    return sentence

def resolve_filename(f):

    try:
        return f.name
    except AttributeError:
        return repr(f)
