diff --git a/worker-{{cookiecutter.slug}}/setup.py b/worker-{{cookiecutter.slug}}/setup.py index ee9565902800e76ea9f1cfa0318db730cfead19d..3f9cc17fb6d5a13ac872e6577d0ebd78d3f10ceb 100755 --- a/worker-{{cookiecutter.slug}}/setup.py +++ b/worker-{{cookiecutter.slug}}/setup.py @@ -9,10 +9,25 @@ MODULE = "worker_{{cookiecutter.slug}}" COMMAND = "worker-{{cookiecutter.slug}}" +def parse_requirements_line(line): + """Special case for git requirements""" + if line.startswith("git+http"): + assert "@" in line, "Branch should be specified with suffix (ex: @master)" + assert ( + "#egg=" in line + ), "Package name should be specified with suffix (ex: #egg=kraken)" + package_name = line.split("#egg=")[-1] + return f"{package_name} @ {line}" + else: + return line + + def parse_requirements(): path = Path(__file__).parent.resolve() / "requirements.txt" assert path.exists(), f"Missing requirements: {path}" - return list(map(str.strip, path.read_text().splitlines())) + return list( + map(parse_requirements_line, map(str.strip, path.read_text().splitlines())) + ) setup(