Skip to content

Commit 7338ad4

Browse files
committed
feat(#324): entrypoint
1 parent 3cc9a9a commit 7338ad4

2 files changed

Lines changed: 34 additions & 14 deletions

File tree

sr-filter/pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ license = "MIT"
2828
readme = "README.md"
2929
packages = [{include = "sr", from = "src"}]
3030

31+
[tool.poetry.scripts]
32+
sr-filter = "sr.sr:main"
33+
3134
[tool.poetry.dependencies]
3235
sr-data = "0.0.0"
3336
python = "==3.10.* || ==3.11.* || ==3.12.*"

sr-filter/src/sr/sr.py

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,37 @@
2525

2626
import argparse
2727
import toml
28+
import json
2829
from loguru import logger
2930

30-
parser = argparse.ArgumentParser(description="SR toolchain")
31-
parser.add_argument(
32-
"--version",
33-
action="version",
34-
version=f"%(prog)s {toml.load("pyproject.toml")["tool"]["poetry"]["version"]}"
35-
)
36-
parser.add_argument(
37-
"--steps",
38-
type=str,
39-
default="mine,pulls,filter,workflows,junit,package,cluster,stats",
40-
help="SR steps to execute"
41-
)
4231

43-
args = parser.parse_args()
44-
logger.info(f"Registering steps: {args.steps}")
32+
"""
33+
Register steps.
34+
"""
35+
def register(steps):
36+
logger.info(f"Registering steps: {steps.replace(",", ", ")}")
37+
with open("resources/toolchain.json", "r") as spec:
38+
tlc = json.load(spec)
39+
defined = tlc["goal"]
40+
for step in steps.split(","):
41+
if not step in defined:
42+
logger.error(f"Step '{step}' cannot be recongnized by sr-filter");
43+
exit(-1);
44+
logger.info("Steps registered");
45+
46+
47+
def main():
48+
parser = argparse.ArgumentParser(description="SR toolchain")
49+
parser.add_argument(
50+
"--version",
51+
action="version",
52+
version=f"%(prog)s {toml.load("pyproject.toml")["tool"]["poetry"]["version"]}"
53+
)
54+
parser.add_argument(
55+
"--steps",
56+
type=str,
57+
default="mine,pulls,filter,workflows,junit,package,cluster,stats",
58+
help="Comma separeted steps to execute"
59+
)
60+
args = parser.parse_args()
61+
register(args.steps)

0 commit comments

Comments
 (0)