spcd/spcd/cmd.py

44 lines
965 B
Python

import os
from pathlib import Path
import env
from rwx import ps
from rwx.log import stream as log
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_list_environment() -> None:
for variable, value in sorted(projects.environment.items()):
log.info(f"{variable} = {value}")
def spcd_synchronize() -> None:
host = env.SPCD_PROJECT_PATH
source = "out"
user = "cd"
root = Path(os.sep) / user / project.branch / projects.group / project.name
target = f"{user}@{host}:{root}"
ps.run(
"rsync",
"--archive",
"--delete-before",
"--verbose",
f"{source}/",
f"{target}/",
)