1. cherrypy
  2. CherryPy

Commits

John P. Speno  committed b5df5e0

applied patch from dowski to address issue #74
setup.py exits if used with wrong version of python
formatting changes to eliminating long lines

  • Participants
  • Parent commits ecf4917
  • Branches default

Comments (0)

Files changed (1)

File setup.py

View file
  • Ignore whitespace
+"""Installs CherryPy using distutils
+
+Run:
+    python setup.py install
+
+to install this package.
+"""
+
 from distutils.core import setup
+from distutils.command.install import INSTALL_SCHEMES
+import sys
 
-import sys
-# patch distutils if it can't cope with the "classifiers" keyword
-if sys.version < '2.2.3':
-    from distutils.dist import DistributionMetadata
-    DistributionMetadata.classifiers = None
-    DistributionMetadata.download_url = None
+required_python_version = '2.3'
 
-setup(name="CherryPy",
-      version="2.1.0-beta",
-      description="Object-Oriented web development framework",
-      long_description="""CherryPy is a pythonic, object-oriented web development framework.""",
-      classifiers=["Development Status :: Stable",
-                   "Intended Audience :: Developers",
-                   "License :: Freely Distributable",
-                   "Programming Language :: Python",
-                   "Topic :: Internet ",
-                   "Topic :: Software Development :: Libraries :: Application Frameworks",
-                   ],
-      author="CherryPy Team",
-      author_email="team@cherrypy.org",
-      url="http://www.cherrypy.org",
-      license="BSD",
-      packages=["cherrypy", "cherrypy.lib", "cherrypy.lib.filter", "cherrypy.lib.filter.sessionfilter", "cherrypy.tutorial", "cherrypy.test"],
-      download_url="http://www.cherrypy.org/wiki/CherryPyDownload",
-)
+###############################################################################
+# arguments for the setup command
+###############################################################################
+name = "CherryPy"
+version = "2.1.0-beta"
+desc = "Object-Oriented web development framework"
+long_desc = "CherryPy is a pythonic, object-oriented web development framework"
+classifiers=[
+    "Development Status :: Stable",
+    "Intended Audience :: Developers",
+    "License :: Freely Distributable",
+    "Programming Language :: Python",
+    "Topic :: Internet ",
+    "Topic :: Software Development :: Libraries :: Application Frameworks",
+]
+author="CherryPy Team"
+author_email="team@cherrypy.org"
+url="http://www.cherrypy.org"
+cp_license="BSD"
+packages=[
+    "cherrypy", "cherrypy.lib", "cherrypy.lib.filter",
+    "cherrypy.lib.filter.sessionfilter", "cherrypy.tutorial",
+    "cherrypy.test",
+]
+download_url="http://www.cherrypy.org/wiki/CherryPyDownload"
+data_files=[
+    ('cherrypy/tutorial',
+        [
+            'cherrypy/tutorial/tutorial.conf',
+            'cherrypy/tutorial/README.txt',
+        ]
+    ),
+    ('cherrypy', ['cherrypy/favicon.ico',]),
+    ('cherrypy/test', ['cherrypy/test/style.css',]),
+    ('cherrypy/test/static', ['cherrypy/test/static/index.html',]),
+]
+###############################################################################
+# end arguments for setup
+###############################################################################
 
+def main():
+    if sys.version < required_python_version:
+        s = "I'm sorry, but %s %s requires Python %s or later."
+        print s % (name, version, required_python_version)
+        sys.exit(1)
+
+    # set default location for "data_files" to platform specific "site-packages"
+    # location
+    for scheme in INSTALL_SCHEMES.values():
+        scheme['data'] = scheme['purelib']
+
+    setup(
+        name=name,
+        version=version,
+        description=desc,
+        long_description=long_desc,
+        classifiers=classifiers,
+        author=author,
+        author_email=author_email,
+        url=url,
+        license=cp_license,
+        packages=packages,
+        download_url=download_url,
+        data_files=data_files,
+    )
+
+if __name__ == "__main__":
+    main()