Use codecs.open to pull the README text into setup.py's long_description.
[pyrisk.git] / setup.py
index 4ef8f6787ccc4306c6ccf9c6ea482a50a761b44b..e07460add2fd5d353acfa2d00293b26f6986e1ac 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -1,13 +1,54 @@
 #!/usr/bin/env python
 
+"Python Risk engine with assorted player interfaces."
+
 from distutils.core import setup
+from os import walk
+from os.path import dirname, join, sep
+import codecs
+
 from pyrisk import __version__
 
+
+python_package_name = 'PyRisk'
+package_name = python_package_name.lower()
+
+
+def recursive_file_list(install_root, source_root):
+    if source_root[-1] != sep:
+        source_root += sep
+    r = []
+    for dirpath,dirnames,filenames in walk(source_root):
+        assert dirpath.startswith(source_root), dirpath
+        install_dirpath = join(install_root, dirpath[len(source_root):])
+        r.append((install_dirpath, [join(dirpath, f) for f in filenames]))
+    return r
+
+_this_dir = dirname(__file__)
+
 setup(
-    name='PyRisk',
+    name=python_package_name,
     version=__version__,
-    description='Python Risk engine',
-    url='http://www.physics.drexel.edu/code/tar/pyrisk.tgz',
-    packages=['pyrisk',
-              'pyrisk.player'],
+    url='http://blog.tremily.us/posts/{}/'.format(package_name),
+    description=__doc__,
+    long_description=codecs.open(
+        join(_this_dir, 'README'), 'r', encoding='utf-8').read(),
+    download_url='http://git.tremily.us/?p={}.git;a=snapshot;h={};sf=tgz'.format(
+        package_name, __version__),
+    author='W. Trevor King',
+    author_email='wking@drexel.edu',
+    package_dir={'pyrisk': 'pyrisk'},
+    data_files=recursive_file_list('share/pyrisk/templates', 'templates'),
+    classifiers = [
+        'Development Status :: 3 - Alpha',
+        #'Environment :: Console',
+        #'Environment :: Console :: Curses',
+        'Intended Audience :: End Users/Desktop',
+        'Intended Audience :: System Administrators',
+        'License :: OSI Approved :: GNU General Public License (GPL)',
+        'Natural Language :: English',
+        'Operating System :: OS Independent',
+        'Programming Language :: Python',
+        'Topic :: Games/Entertainment :: Board Games'
+        ],
     )