diff options
| author | Jason R. Coombs <jaraco@jaraco.com> | 2019-01-27 10:02:52 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-01-27 10:02:52 -0500 |
| commit | 0551421f082eea3f633bc6be23c16a04483aca98 (patch) | |
| tree | 76c5b37e3a56a232b4b5b66ab7e933edbe64cd25 /setuptools/unicode_utils.py | |
| parent | 28872fc9e7d15a1acf3bc557795c76c5e64dbad3 (diff) | |
| parent | 78fd73026ad7284819936b651f7cfbe8a1ec98c8 (diff) | |
| download | python-setuptools-git-0551421f082eea3f633bc6be23c16a04483aca98.tar.gz | |
Merge branch 'master' into license-fix-357
Diffstat (limited to 'setuptools/unicode_utils.py')
| -rw-r--r-- | setuptools/unicode_utils.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/setuptools/unicode_utils.py b/setuptools/unicode_utils.py index 7c63efd2..3b8179a8 100644 --- a/setuptools/unicode_utils.py +++ b/setuptools/unicode_utils.py @@ -1,5 +1,6 @@ import unicodedata import sys +import re from setuptools.extern import six @@ -42,3 +43,15 @@ def try_encode(string, enc): return string.encode(enc) except UnicodeEncodeError: return None + + +CODING_RE = re.compile(br'^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)') + + +def detect_encoding(fp): + first_line = fp.readline() + fp.seek(0) + m = CODING_RE.match(first_line) + if m is None: + return None + return m.group(1).decode('ascii') |
