From 657b11d05a0983c591b7dd1c813e0e25cb7f4598 Mon Sep 17 00:00:00 2001 From: Michal Konečný Date: Feb 22 2021 14:08:50 +0000 Subject: Add requirements file Signed-off-by: Michal Konečný --- diff --git a/.gitignore b/.gitignore index 89039a6..ba67d7d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ dist *.pyc .ropeproject .pytest_cache +test.conf +.venv/ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..9d3d234 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +rpkg +rpm diff --git a/setup.py b/setup.py index 928f5c1..77756b0 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,35 @@ from setuptools import setup +def get_requirements(requirements_file="requirements.txt"): + """Get the contents of a file listing the requirements. + + :arg requirements_file: path to a requirements file + :type requirements_file: string + :returns: the list of requirements, or an empty list if + `requirements_file` could not be opened or read + :return type: list + """ + + lines = open(requirements_file).readlines() + dependencies = [] + for line in lines: + maybe_dep = line.strip() + if maybe_dep.startswith("#"): + # Skip pure comment lines + continue + if maybe_dep.startswith("git+"): + # VCS reference for dev purposes, expect a trailing comment + # with the normal requirement + __, __, maybe_dep = maybe_dep.rpartition("#") + else: + # Ignore any trailing comment + maybe_dep, __, __ = maybe_dep.partition("#") + # Remove any whitespace and assume non-empty results are dependencies + maybe_dep = maybe_dep.strip() + if maybe_dep: + dependencies.append(maybe_dep) + return dependencies + setup( name="centpkg", version='0.4.6', @@ -9,6 +39,7 @@ setup( license="GPLv2+", package_dir={'': 'src'}, packages=['centpkg'], + install_requires=get_requirements(), scripts=['src/bin/centpkg'], data_files=[('/etc/rpkg',['src/centpkg.conf']),] )