diff --git a/bypy/sources.json b/bypy/sources.json index e45722c59d..43940208f9 100644 --- a/bypy/sources.json +++ b/bypy/sources.json @@ -769,16 +769,6 @@ } }, - { - "name": "enum34", - "python": "<3", - "unix": { - "filename": "enum34-1.1.6.tar.gz", - "hash": "sha256:8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1", - "urls": ["pypi"] - } - }, - { "name": "sip", "unix": { diff --git a/setup/build.py b/setup/build.py index 8db1531606..40c7e815b3 100644 --- a/setup/build.py +++ b/setup/build.py @@ -218,8 +218,8 @@ def init_env(): class Build(Command): short_description = 'Build calibre C/C++ extension modules' - DEFAULT_OUTPUTDIR = os.path.abspath(os.path.join(SRC, 'calibre', 'plugins', sys.version_info.major)) - DEFAULT_BUILDDIR = os.path.abspath(os.path.join(os.path.dirname(SRC), 'build', sys.version_info.major)) + DEFAULT_OUTPUTDIR = os.path.abspath(os.path.join(SRC, 'calibre', 'plugins', str(sys.version_info.major))) + DEFAULT_BUILDDIR = os.path.abspath(os.path.join(os.path.dirname(SRC), 'build', str(sys.version_info.major))) description = textwrap.dedent('''\ calibre depends on several python extensions written in C/C++. diff --git a/src/calibre/constants.py b/src/calibre/constants.py index 190e6d2294..deca03369c 100644 --- a/src/calibre/constants.py +++ b/src/calibre/constants.py @@ -150,7 +150,7 @@ def cache_dir(): return ans -plugins_loc = os.path.join(sys.extensions_location, sys.version_info.major) +plugins_loc = os.path.join(sys.extensions_location, str(sys.version_info.major)) # plugins {{{ diff --git a/src/polyglot/builtins.py b/src/polyglot/builtins.py index caf2d254a0..f30d1d6e7d 100644 --- a/src/polyglot/builtins.py +++ b/src/polyglot/builtins.py @@ -121,3 +121,19 @@ def int_to_byte(x): def reload(module): import importlib return importlib.reload(module) + + +def print_to_binary_file(fileobj, encoding='utf-8'): + + def print(*a, **kw): + f = kw.get('file', fileobj) + if a: + sep = as_bytes(kw.get('sep', ' '), encoding) + for x in a: + x = as_bytes(x, encoding) + f.write(x) + if x is not a[-1]: + f.write(sep) + f.write(as_bytes(kw.get('end', '\n'))) + + return print