Skip to content

Commit

Permalink
Make things more Python 3 friendly. Python 3 still doesn't work because
Browse files Browse the repository at this point in the history
of C code that doesn't compile with Python 3.
  • Loading branch information
msabramo committed Jun 12, 2012
1 parent a5738ae commit 01917a4
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 33 deletions.
64 changes: 32 additions & 32 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
import os
import platform
import re
import string
import struct
import sys

Expand Down Expand Up @@ -159,8 +158,8 @@ def build_extensions(self):
TCL_ROOT = os.path.abspath(TCL_ROOT)
if os.path.isfile(os.path.join(TCL_ROOT, "include", "tk.h")):
# FIXME: use distutils logging (?)
print "--- using Tcl/Tk libraries at", TCL_ROOT
print "--- using Tcl/Tk version", TCL_VERSION
print("--- using Tcl/Tk libraries at", TCL_ROOT)
print("--- using Tcl/Tk version", TCL_VERSION)
TCL_ROOT = _lib_include(TCL_ROOT)
break
else:
Expand Down Expand Up @@ -280,7 +279,7 @@ class feature:
defs.append(("HAVE_LIBZ", None))
if sys.platform == "win32":
libs.extend(["kernel32", "user32", "gdi32"])
if struct.unpack("h", "\0\1")[0] == 1:
if struct.unpack("h", "\0\1".encode('ascii'))[0] == 1:
defs.append(("WORDS_BIGENDIAN", None))

exts = [(Extension(
Expand Down Expand Up @@ -317,7 +316,7 @@ class feature:
for root in framework_roots:
if (os.path.exists(os.path.join(root, "Tcl.framework")) and
os.path.exists(os.path.join(root, "Tk.framework"))):
print "--- using frameworks at", root
print("--- using frameworks at", root)
frameworks = ["-framework", "Tcl", "-framework", "Tk"]
dir = os.path.join(root, "Tcl.framework", "Headers")
_add_directory(self.compiler.include_dirs, dir, 0)
Expand Down Expand Up @@ -353,15 +352,15 @@ class feature:

def summary_report(self, feature, unsafe_zlib):

print "-" * 68
print "SETUP SUMMARY (Pillow", VERSION, "/ PIL %s)" % PIL_VERSION
print "-" * 68
print "version ", VERSION
v = string.split(sys.version, "[")
print "platform ", sys.platform, string.strip(v[0])
print("-" * 68)
print("SETUP SUMMARY (Pillow", VERSION, "/ PIL %s)" % PIL_VERSION)
print("-" * 68)
print("version ", VERSION)
v = sys.version.split("[")
print("platform ", sys.platform, v[0].strip())
for v in v[1:]:
print " ", string.strip("[" + v)
print "-" * 68
print(" ", ("[" + v).strip())
print("-" * 68)

options = [
(feature.tcl and feature.tk, "TKINTER"),
Expand All @@ -375,34 +374,34 @@ def summary_report(self, feature, unsafe_zlib):
all = 1
for option in options:
if option[0]:
print "---", option[1], "support available"
print("---", option[1], "support available")
else:
print "***", option[1], "support not available",
print("***", option[1], "support not available")
if option[1] == "TKINTER" and _tkinter:
version = _tkinter.TCL_VERSION
print "(Tcl/Tk %s libraries needed)" % version,
print
print("(Tcl/Tk %s libraries needed)" % version)
print()
all = 0

if feature.zlib and unsafe_zlib:
print
print "*** Warning: zlib", unsafe_zlib,
print "may contain a security vulnerability."
print "*** Consider upgrading to zlib 1.2.3 or newer."
print "*** See: http://www.kb.cert.org/vuls/id/238678"
print " http://www.kb.cert.org/vuls/id/680620"
print " http://www.gzip.org/zlib/advisory-2002-03-11.txt"
print
print()
print("*** Warning: zlib", unsafe_zlib)
print("may contain a security vulnerability.")
print("*** Consider upgrading to zlib 1.2.3 or newer.")
print("*** See: http://www.kb.cert.org/vuls/id/238678")
print(" http://www.kb.cert.org/vuls/id/680620")
print(" http://www.gzip.org/zlib/advisory-2002-03-11.txt")
print()

print "-" * 68
print("-" * 68)

if not all:
print "To add a missing option, make sure you have the required"
print "library, and set the corresponding ROOT variable in the"
print "setup.py script."
print
print("To add a missing option, make sure you have the required")
print("library, and set the corresponding ROOT variable in the")
print("setup.py script.")
print()

print "To check the build, run the selftest.py script."
print("To check the build, run the selftest.py script.")

def check_zlib_version(self, include_dirs):
# look for unsafe versions of zlib
Expand Down Expand Up @@ -450,10 +449,11 @@ def add_multiarch_paths(self):
long_description=(
_read('README.rst') +
_read('docs/INSTALL.txt') +
_read('docs/HISTORY.txt')),
_read('docs/HISTORY.txt')).decode('utf-8'),
author='Alex Clark (fork author)',
author_email='aclark@aclark.net',
url='http://github.com/collective/Pillow',
use_2to3=True,
classifiers=[
"Development Status :: 6 - Mature",
"Topic :: Multimedia :: Graphics",
Expand Down
11 changes: 10 additions & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,19 @@
# and then run "tox" from this directory.

[tox]
envlist = py25, py26, py27
envlist = py25, py26, py27, py32, pypy

[testenv]
commands =
{envpython} setup.py clean
rm -rf build dist
{envpython} setup.py install
{envpython} selftest.py

[testenv:py32]
commands =
{envpython} setup.py clean
rm -rf build dist
{envpython} setup.py install
2to3 -w -n -o . --add-suffix=3 selftest.py
{envpython} selftest.py3

0 comments on commit 01917a4

Please sign in to comment.