third_party/python/dlmanager/setup.py
author Andrew Halberstadt <ahalberstadt@mozilla.com>
Tue, 23 May 2017 15:34:24 -0400
changeset 583185 38855fd0ec895956f7869adcd40bc0f22fa6c668
parent 490411 python/dlmanager/setup.py@7d817a123f53088c543ae09fafa386c4f4105fc4
permissions -rw-r--r--
Bug 1346025 - Move vendored python modules from /python to /third_party/python MozReview-Commit-ID: 2rJafmwysUY

# -*- 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',
)