From a43215715a57e380117e76c9e8b368950e29a116 Mon Sep 17 00:00:00 2001 From: Sven-Hendrik Haase Date: Wed, 29 Oct 2014 15:30:28 +0100 Subject: [PATCH 1/2] Fix unicode loading --- _setup/py3/setup.py | 11 ++++++----- make.py | 25 +++++++++++++------------ 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/_setup/py3/setup.py b/_setup/py3/setup.py index e28f000..f2882e6 100644 --- a/_setup/py3/setup.py +++ b/_setup/py3/setup.py @@ -27,6 +27,7 @@ import configparser as _config_parser from distutils import core as _core import os as _os +import io as _io import posixpath as _posixpath import sys as _sys @@ -88,7 +89,7 @@ def find_description(docs): summary = None filename = docs.get('meta.summary', 'SUMMARY').strip() if filename and _os.path.isfile(filename): - fp = open(filename) + fp = _io.open(filename, encoding="utf8") try: try: summary = fp.read().strip().splitlines()[0].rstrip() @@ -100,7 +101,7 @@ def find_description(docs): description = None filename = docs.get('meta.description', 'DESCRIPTION').strip() if filename and _os.path.isfile(filename): - fp = open(filename) + fp = _io.open(filename, encoding="utf8") try: description = fp.read().rstrip() finally: @@ -126,7 +127,7 @@ def find_classifiers(docs): """ filename = docs.get('meta.classifiers', 'CLASSIFIERS').strip() if filename and _os.path.isfile(filename): - fp = open(filename) + fp = _io.open(filename, encoding="utf8") try: content = fp.read() finally: @@ -145,7 +146,7 @@ def find_provides(docs): """ filename = docs.get('meta.provides', 'PROVIDES').strip() if filename and _os.path.isfile(filename): - fp = open(filename) + fp = _io.open(filename, encoding="utf8") try: content = fp.read() finally: @@ -164,7 +165,7 @@ def find_license(docs): """ filename = docs.get('meta.license', 'LICENSE').strip() if filename and _os.path.isfile(filename): - fp = open(filename) + fp = _io.open(filename, encoding="utf8") try: return fp.read().rstrip() finally: diff --git a/make.py b/make.py index 95fa86f..2812aae 100755 --- a/make.py +++ b/make.py @@ -28,6 +28,7 @@ import errno as _errno import os as _os +import io as _io import re as _re import sys as _sys @@ -261,19 +262,19 @@ def run(self): filename = _os.path.join( self.dirs['_website'], 'src', 'website_download.txt' ) - fp = open(filename) + fp = _io.open(filename, encoding="utf8") try: download = fp.read() finally: fp.close() filename = _os.path.join(self.dirs['_website'], 'src', 'index.txt') - fp = open(filename) + fp = _io.open(filename, encoding="utf8") try: indexlines = fp.readlines() finally: fp.close() - fp = open(filename, 'w') + fp = _io.open(filename, 'w', encoding="utf8") try: for line in indexlines: if line.startswith('.. placeholder: Download'): @@ -294,7 +295,7 @@ def run(self): ) fp = open(_os.path.join( self.dirs['_website'], 'src', 'conf.py' - ), 'a') + ), 'a', encoding="utf8") try: fp.write("\nepydoc = dict(rjsmin=%r)\n" % ( _os.path.join( @@ -496,12 +497,12 @@ def run(self): def _version_init(self, strversion): """ Modify version in __init__ """ filename = _os.path.join(self.dirs['lib'], 'rjsmin.py') - fp = open(filename) + fp = _io.open(filename, encoding="utf8") try: initlines = fp.readlines() finally: fp.close() - fp = open(filename, 'w') + fp = _io.open(filename, 'w', encoding="utf8") replaced = False try: for line in initlines: @@ -516,12 +517,12 @@ def _version_init(self, strversion): def _version_changes(self, strversion): """ Modify version in changes """ filename = _os.path.join(shell.native(self.dirs['docs']), 'CHANGES') - fp = open(filename) + fp = _io.open(filename, encoding="utf8") try: initlines = fp.readlines() finally: fp.close() - fp = open(filename, 'w') + fp = _io.open(filename, 'w', encoding="utf8") try: for line in initlines: if line.rstrip() == "Changes with version": @@ -535,13 +536,13 @@ def _version_userdoc(self, strversion): filename = _os.path.join(self.dirs['userdoc_source'], 'conf.py') shortversion = '.'.join(strversion.split('.')[:2]) longversion = strversion - fp = open(filename) + fp = _io.open(filename, encoding="utf8") try: initlines = fp.readlines() finally: fp.close() replaced = 0 - fp = open(filename, 'w') + fp = _io.open(filename, 'w', encoding="utf8") try: for line in initlines: if line.startswith('version'): @@ -561,13 +562,13 @@ def _version_download(self, strversion): self.dirs['userdoc_source'], 'website_download.txt' ) VERSION, PATH = strversion, '' - fp = open(filename + '.in') + fp = _io.open(filename + '.in', encoding="utf8") try: dllines = fp.readlines() finally: fp.close() instable = [] - fp = open(filename, 'w') + fp = _io.open(filename, 'w', encoding="utf8") try: for line in dllines: if instable: From b7fb5b99b8cdef2add8d2ffb619e4951f56b53e2 Mon Sep 17 00:00:00 2001 From: Sven-Hendrik Haase Date: Wed, 29 Oct 2014 16:03:24 +0100 Subject: [PATCH 2/2] Read UTF8 config --- _setup/py3/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_setup/py3/setup.py b/_setup/py3/setup.py index f2882e6..dee3778 100644 --- a/_setup/py3/setup.py +++ b/_setup/py3/setup.py @@ -340,7 +340,7 @@ def run(config=('package.cfg',), ext=None, script_args=None, manifest_only=0): ext = [] cfg = _util.SafeConfigParser() - cfg.read(config) + cfg.read(config, encoding="utf8") pkg = dict(cfg.items('package')) python_min = pkg.get('python.min') or None python_max = pkg.get('python.max') or None