spcd/spcd/cmd.py
2024-08-19 17:38:23 +02:00

50 lines
1 KiB
Python

"""Commands available for workflows."""
import os
from pathlib import Path
import env
from rwx import ps
from spcd.ci import project, projects
from spcd.util import browse
def spcd_browse_workspace() -> None:
browse(project.root)
def spcd_build_project() -> None:
for extension in ["py", "sh"]:
path = Path(project.root) / f"build.{extension}"
if path.exists():
ps.run(path)
break
else:
pass
def spcd_check_project() -> None:
ps.run("ruff", "check")
def spcd_synchronize(
target: str | None = None, source: str | None = None
) -> None:
if not target:
user = "cd"
host = env.SPCD_PROJECT_PATH
root = (
Path(os.sep) / user / project.branch / projects.group / project.name
)
target = f"{user}@{host}:{root}"
if not source:
source = "out"
ps.run(
"rsync",
"--archive",
"--delete-before",
"--verbose",
f"{source}/",
f"{target}/",
)