Respect UTF-8 README in setup.py.
authorW. Trevor King <wking@drexel.edu>
Fri, 17 Feb 2012 02:50:28 +0000 (21:50 -0500)
committerW. Trevor King <wking@drexel.edu>
Fri, 17 Feb 2012 02:56:58 +0000 (21:56 -0500)
Also make a few minor changes to hooke/__init__.py so I can use

  $ python3 setup.py register -r pypi

to push the new metadata to PyPI.  Using Python 3 works around
http://bugs.python.org/issue13114.

I also had to explicitly convert classifiers to a list to avoid:
  Server response (400): Invalid classifier "<filter object at 0x...>"

hooke/__init__.py
setup.py

index 13bcc6867092e2093ca11bd24d76e3239f276166..9a04fec08a258758c4df9f485e650b1857552bf0 100644 (file)
@@ -25,14 +25,19 @@ The available submodules are:
 * :mod:`hooke.config`
 * :mod:`hooke.compat`
 """
+
+import sys as _sys
+
 try:
     from .license import LICENSE as __license__
-except ImportError, e:
+except ImportError as e:
     import logging
     logging.warn('could not load LICENSE from hooke.license')
     __license__ = 'All rights reserved.' 
 
-from .util import yaml  # extend YAML to parse Hooke-specific items.
+if _sys.version_info < (3,0):
+    # yaml library not yet compatible with Python 3
+    from .util import yaml  # extend YAML to parse Hooke-specific items.
 
 __version__ = (1, 0, 0, 'alpha', None, 'Ninken')
 """Version tuple::
index 837a3c1a95be52246a57399e2c314c67037835ae..5d829bbac0a7084bf836f1ca2344b9b8b0f097e3 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -17,6 +17,7 @@
 
 "Tools for analyzing force spectroscopy data."
 
+import codecs
 from distutils.core import setup
 from os import walk
 import os.path
@@ -58,8 +59,9 @@ setup(name="Hooke",
       license = "GNU Lesser General Public License (LGPL)",
       platforms = ["all"],
       description = __doc__,
-      long_description=open(os.path.join(_this_dir, 'README'), 'r').read(),
-      classifiers = filter(None, classifiers.split("\n")),
+      long_description=codecs.open(
+        os.path.join(_this_dir, 'README'), 'r', encoding='utf-8').read(),
+      classifiers = list(filter(None, classifiers.split("\n"))),
       scripts = ['bin/hk.py'],
       packages = packages,
       provides = packages,