summaryrefslogtreecommitdiffstats
path: root/third_party/python/dlmanager/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/python/dlmanager/setup.py')
-rw-r--r--third_party/python/dlmanager/setup.py60
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',
+)