diff options
author | Val Neekman <val@neekware.com> | 2012-10-14 18:49:13 -0700 |
---|---|---|
committer | Val Neekman <val@neekware.com> | 2012-10-14 18:49:13 -0700 |
commit | 64ffcbcedee3bead5e3a20cb1c545854b3bd651b (patch) | |
tree | 5b9fd44f1b7e55befc6df7321a092fdd212ebe61 /setup.py | |
parent | be60050791262776db3c59ff6c4bf7da7c2a1b43 (diff) | |
download | python-slugify-64ffcbcedee3bead5e3a20cb1c545854b3bd651b.tar.gz |
Initial version
Diffstat (limited to 'setup.py')
-rwxr-xr-x | setup.py | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/setup.py b/setup.py new file mode 100755 index 0000000..e2df292 --- /dev/null +++ b/setup.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python + +# -*- coding: utf-8 -*- +from setuptools import setup +import re +import os +import sys + + +name = 'python-slugify' +package = 'slugify' +description = 'A Python slugify application that handles unicode' +url = 'https://github.com/un33k/python-slugify' +author = 'Val Neekman' +author_email = 'info@neekware.com' +license = 'BSD' +install_requires = ['Unidecode>=0.04.9'] +classifiers = [ + 'Development Status :: 3 - Alpha', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: BSD License', + 'Operating System :: POSIX', + 'Programming Language :: Python', +] + + +def get_version(package): + """ + Return package version as listed in `__version__` in `init.py`. + """ + init_py = open(os.path.join(package, '__init__.py')).read() + return re.search("^__version__ = ['\"]([^'\"]+)['\"]", init_py, re.MULTILINE).group(1) + + +def get_packages(package): + """ + Return root package and all sub-packages. + """ + return [dirpath + for dirpath, dirnames, filenames in os.walk(package) + if os.path.exists(os.path.join(dirpath, '__init__.py'))] + + +def get_package_data(package): + """ + Return all files under the root package, that are not in a + package themselves. + """ + walk = [(dirpath.replace(package + os.sep, '', 1), filenames) + for dirpath, dirnames, filenames in os.walk(package) + if not os.path.exists(os.path.join(dirpath, '__init__.py'))] + + filepaths = [] + for base, filenames in walk: + filepaths.extend([os.path.join(base, filename) + for filename in filenames]) + return {package: filepaths} + + +if sys.argv[-1] == 'publish': + os.system("python setup.py sdist upload") + args = {'version': get_version(package)} + print "You probably want to also tag the version now:" + print " git tag -a %(version)s -m 'version %(version)s'" % args + print " git push --tags" + sys.exit() + + +setup( + name=name, + version=get_version(package), + url=url, + license=license, + description=description, + author=author, + author_email=author_email, + packages=get_packages(package), + package_data=get_package_data(package), + install_requires=install_requires, + classifiers=classifiers +) + + |