This commit is contained in:
ndparker 2014-11-02 00:14:32 +01:00
parent 4472ccade2
commit ac31f03644
7 changed files with 41 additions and 32 deletions

View File

@ -41,7 +41,7 @@ def _cleanup_epydoc(target):
"""
search = _re.compile(r'<table[^<>]+width="100%%"').search
for filename in _shell.files(target, '*.html'):
fp = open(filename, 'r')
fp = open(filename, 'r', encoding='latin-1')
try:
html = fp.read()
finally:
@ -53,7 +53,7 @@ def _cleanup_epydoc(target):
if end >= 0:
end += len('</table>') + 1
html = html[:start] + html[end:]
fp = open(filename, 'w')
fp = open(filename, 'w', encoding='latin-1')
try:
fp.write(html)
finally:

View File

@ -179,7 +179,7 @@ class ConfTest(object):
"""
self._tempdir = tempdir = _tempfile.mkdtemp()
src = _os.path.join(tempdir, 'conftest.c')
fp = open(src, 'w')
fp = open(src, 'w', encoding='utf-8')
try:
fp.write(source)
finally:

View File

@ -63,7 +63,7 @@ class MakefileTarget(_make.Target):
names.append(name)
names.sort()
fp = open(_shell.native('Makefile'), 'w')
fp = open(_shell.native('Makefile'), 'w', encoding='utf-8')
print(decorate("Generated Makefile, DO NOT EDIT"), file=fp)
print(decorate("python %s %s" % (
_os.path.basename(script), self.NAME

View File

@ -187,7 +187,7 @@ class Distribution(_make.Target):
return sig.hexdigest()
param = {'sig': sig.hexdigest(), 'file': _os.path.basename(filename)}
fp = open("%s.%s" % (filename, name), "w")
fp = open("%s.%s" % (filename, name), "w", encoding='utf-8')
fp.write("%(sig)s *%(file)s\n" % param)
fp.close()
@ -265,9 +265,9 @@ class Distribution(_make.Target):
sig.seek(0, 0)
if detach:
open("%s.asc" % filename, "w").write(sig.read())
open("%s.asc" % filename, "w", encoding='utf-8').write(sig.read())
else:
open(filename, "w").write(sig.read())
open(filename, "w", encoding='utf-8').write(sig.read())
return True
@ -309,7 +309,7 @@ class Manifest(_make.Target):
def run(self):
_term.green("Creating %(name)s...", name=self.NAME)
dest = _shell.native(self.NAME)
dest = open(dest, 'w')
dest = open(dest, 'w', encoding='utf-8')
for name in self.manifest_names():
dest.write("%s\n" % name)
dest.close()

View File

@ -88,7 +88,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 = open(filename, encoding='utf-8')
try:
try:
summary = fp.read().strip().splitlines()[0].rstrip()
@ -100,7 +100,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 = open(filename, encoding='utf-8')
try:
description = fp.read().rstrip()
finally:
@ -126,7 +126,7 @@ def find_classifiers(docs):
"""
filename = docs.get('meta.classifiers', 'CLASSIFIERS').strip()
if filename and _os.path.isfile(filename):
fp = open(filename)
fp = open(filename, encoding='utf-8')
try:
content = fp.read()
finally:
@ -145,7 +145,7 @@ def find_provides(docs):
"""
filename = docs.get('meta.provides', 'PROVIDES').strip()
if filename and _os.path.isfile(filename):
fp = open(filename)
fp = open(filename, encoding='utf-8')
try:
content = fp.read()
finally:
@ -164,7 +164,7 @@ def find_license(docs):
"""
filename = docs.get('meta.license', 'LICENSE').strip()
if filename and _os.path.isfile(filename):
fp = open(filename)
fp = open(filename, encoding='utf-8')
try:
return fp.read().rstrip()
finally:
@ -339,7 +339,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='utf-8')
pkg = dict(cfg.items('package'))
python_min = pkg.get('python.min') or None
python_max = pkg.get('python.max') or None

View File

@ -204,7 +204,7 @@ sys.exit(result & 7)
'outfile': repr(_pickle.dumps(_os.path.abspath(outfile))),
'argv': repr(_pickle.dumps(argv)),
'env': repr(_pickle.dumps(env)),
}))
}).encode('utf-8'))
fd, _ = None, _os.close(fd)
if _sys.platform == 'win32':
argv = []

43
make.py
View File

@ -1,7 +1,7 @@
#!/usr/bin/env python
# -*- coding: ascii -*-
#
# Copyright 2006 - 2013
# Copyright 2006 - 2014
# Andr\xe9 Malo or his licensors, as applicable
#
# Licensed under the Apache License, Version 2.0 (the "License");
@ -38,6 +38,15 @@ from _setup import term
from _setup.make import targets, default_targets
if _sys.version_info[0] == 3:
def textopen(*args):
return open(*args, encoding='utf-8')
cfgread = dict(encoding='utf-8')
else:
textopen = open
cfgread = {}
class Target(make.Target):
def init(self):
self.dirs = {
@ -246,7 +255,7 @@ class Website(Target):
def run(self):
from _setup.util import SafeConfigParser as parser
parser = parser()
parser.read('package.cfg')
parser.read('package.cfg', **cfgread)
strversion = parser.get('package', 'version.number')
shortversion = tuple(map(int, strversion.split('.')[:2]))
@ -261,19 +270,19 @@ class Website(Target):
filename = _os.path.join(
self.dirs['_website'], 'src', 'website_download.txt'
)
fp = open(filename)
fp = textopen(filename)
try:
download = fp.read()
finally:
fp.close()
filename = _os.path.join(self.dirs['_website'], 'src', 'index.txt')
fp = open(filename)
fp = textopen(filename)
try:
indexlines = fp.readlines()
finally:
fp.close()
fp = open(filename, 'w')
fp = textopen(filename, 'w')
try:
for line in indexlines:
if line.startswith('.. placeholder: Download'):
@ -292,7 +301,7 @@ class Website(Target):
self.dirs['_website'], 'src', 'doc-%d.%d' % shortversion
)
)
fp = open(_os.path.join(
fp = textopen(_os.path.join(
self.dirs['_website'], 'src', 'conf.py'
), 'a')
try:
@ -344,7 +353,7 @@ class SVNRelease(Target):
""" Tag release """
from _setup.util import SafeConfigParser as parser
parser = parser()
parser.read('package.cfg')
parser.read('package.cfg', **cfgread)
strversion = parser.get('package', 'version.number')
version = strversion
trunk_url = self._repo_url()
@ -422,7 +431,7 @@ class GitRelease(Target):
""" Tag release """
from _setup.util import SafeConfigParser as parser
parser = parser()
parser.read('package.cfg')
parser.read('package.cfg', **cfgread)
strversion = parser.get('package', 'version.number')
version = strversion
git = shell.frompath('git')
@ -478,7 +487,7 @@ class Version(Target):
def run(self):
from _setup.util import SafeConfigParser as parser
parser = parser()
parser.read('package.cfg')
parser.read('package.cfg', **cfgread)
strversion = parser.get('package', 'version.number')
self._version_init(strversion)
@ -496,12 +505,12 @@ class Version(Target):
def _version_init(self, strversion):
""" Modify version in __init__ """
filename = _os.path.join(self.dirs['lib'], 'rjsmin.py')
fp = open(filename)
fp = textopen(filename)
try:
initlines = fp.readlines()
finally:
fp.close()
fp = open(filename, 'w')
fp = textopen(filename, 'w')
replaced = False
try:
for line in initlines:
@ -516,12 +525,12 @@ class Version(Target):
def _version_changes(self, strversion):
""" Modify version in changes """
filename = _os.path.join(shell.native(self.dirs['docs']), 'CHANGES')
fp = open(filename)
fp = textopen(filename)
try:
initlines = fp.readlines()
finally:
fp.close()
fp = open(filename, 'w')
fp = textopen(filename, 'w')
try:
for line in initlines:
if line.rstrip() == "Changes with version":
@ -535,13 +544,13 @@ class Version(Target):
filename = _os.path.join(self.dirs['userdoc_source'], 'conf.py')
shortversion = '.'.join(strversion.split('.')[:2])
longversion = strversion
fp = open(filename)
fp = textopen(filename)
try:
initlines = fp.readlines()
finally:
fp.close()
replaced = 0
fp = open(filename, 'w')
fp = textopen(filename, 'w')
try:
for line in initlines:
if line.startswith('version'):
@ -561,13 +570,13 @@ class Version(Target):
self.dirs['userdoc_source'], 'website_download.txt'
)
VERSION, PATH = strversion, ''
fp = open(filename + '.in')
fp = textopen(filename + '.in')
try:
dllines = fp.readlines()
finally:
fp.close()
instable = []
fp = open(filename, 'w')
fp = textopen(filename, 'w')
try:
for line in dllines:
if instable: