Revision 873cdacfaf2bd4127f6378358504feefb3a47fd4 authored by Nicolas Dandrimont on 10 June 2020, 09:28:19 UTC, committed by Nicolas Dandrimont on 10 June 2020, 09:28:19 UTC
When running the cli with default settings (i.e. pointing to a
softwareheritage-scheduler-dev database), and the database doesn't exist, an
OperationalError is raised.

This shouldn't prevent (some of the) cli subcommands from working, so catch this
error and ignore it as one of the scheduler backend setup failure modes.
1 parent 28c5b8d
Raw File
setup.py
#!/usr/bin/env python3
# Copyright (C) 2015-2019  The Software Heritage developers
# See the AUTHORS file at the top-level directory of this distribution
# License: GNU General Public License version 3, or any later version
# See top-level LICENSE file for more information

from setuptools import setup, find_packages

from os import path
from io import open

here = path.abspath(path.dirname(__file__))

# Get the long description from the README file
with open(path.join(here, "README.md"), encoding="utf-8") as f:
    long_description = f.read()


def parse_requirements(name=None):
    if name:
        reqf = "requirements-%s.txt" % name
    else:
        reqf = "requirements.txt"

    requirements = []
    if not path.exists(reqf):
        return requirements

    with open(reqf) as f:
        for line in f.readlines():
            line = line.strip()
            if not line or line.startswith("#"):
                continue
            requirements.append(line)
    return requirements


setup(
    name="swh.scheduler",
    description="Software Heritage Scheduler",
    long_description=long_description,
    long_description_content_type="text/markdown",
    python_requires=">=3.7",
    author="Software Heritage developers",
    author_email="swh-devel@inria.fr",
    url="https://forge.softwareheritage.org/diffusion/DSCH/",
    packages=find_packages(),
    scripts=["bin/swh-worker-control"],
    setup_requires=["setuptools-scm"],
    use_scm_version=True,
    install_requires=parse_requirements() + parse_requirements("swh"),
    extras_require={"testing": parse_requirements("test")},
    include_package_data=True,
    entry_points="""
        [console_scripts]
        swh-scheduler=swh.scheduler.cli:main
        [swh.cli.subcommands]
        scheduler=swh.scheduler.cli:cli
    """,
    classifiers=[
        "Programming Language :: Python :: 3",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
        "Operating System :: OS Independent",
        "Development Status :: 5 - Production/Stable",
    ],
    project_urls={
        "Bug Reports": "https://forge.softwareheritage.org/maniphest",
        "Funding": "https://www.softwareheritage.org/donate",
        "Source": "https://forge.softwareheritage.org/source/swh-scheduler",
        "Documentation": "https://docs.softwareheritage.org/devel/swh-scheduler/",
    },
)
back to top