diff options
Diffstat (limited to 'third_party/python/dlmanager/setup.py')
-rw-r--r-- | third_party/python/dlmanager/setup.py | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/third_party/python/dlmanager/setup.py b/third_party/python/dlmanager/setup.py new file mode 100644 index 0000000000..b2a8fd392d --- /dev/null +++ b/third_party/python/dlmanager/setup.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- + +import os +import re +import sys +from setuptools import setup +from setuptools.command.test import test as TestCommand + +HERE = os.path.dirname(os.path.realpath(__file__)) + + +class PyTest(TestCommand): + """ + Run py.test with the "python setup.py test command" + """ + user_options = [('pytest-args=', 'a', "Arguments to pass to py.test")] + + def initialize_options(self): + TestCommand.initialize_options(self) + self.pytest_args = '' + + def finalize_options(self): + TestCommand.finalize_options(self) + self.pytest_args += (' ' + self.distribution.test_suite) + + def run_tests(self): + import pytest + errno = pytest.main(self.pytest_args) + sys.exit(errno) + + +def read(*parts): + with open(os.path.join(HERE, *parts)) as f: + return f.read() + + +def parse_requirements(data, exclude=()): + return [line for line in data.splitlines() + if line and not line.startswith("#") and line not in exclude] + + +def version(): + return re.findall(r"__version__ = \"([\d.]+)\"", + read("dlmanager", "__init__.py"))[0] + +setup( + name="dlmanager", + version=version(), + description="download manager library", + long_description=read("README.rst"), + author="Julien Pagès", + author_email="j.parkouss@gmail.com", + url="http://github.com/parkouss/dlmanager", + license="GPL/LGPL", + install_requires=parse_requirements(read("requirements.txt")), + cmdclass={'test': PyTest}, + tests_require=parse_requirements(read("requirements.txt"), + exclude=("-e .",)), + test_suite='tests', +) |