Skip to content

Instantly share code, notes, and snippets.

@Flowerowl
Created May 4, 2017 08:44
Show Gist options
  • Select an option

  • Save Flowerowl/a9579d7faa1444da0e59cb723394bed7 to your computer and use it in GitHub Desktop.

Select an option

Save Flowerowl/a9579d7faa1444da0e59cb723394bed7 to your computer and use it in GitHub Desktop.

Revisions

  1. Flowerowl created this gist May 4, 2017.
    46 changes: 46 additions & 0 deletions python
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,46 @@
    # -*- coding: utf-8 -*-
    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)