This commit is contained in:
Marc Beninca 2024-06-21 14:54:36 +02:00
parent c5c01f14cb
commit 42c05eecb7
Signed by: marc.beninca
GPG key ID: 9C7613450C80C24F
5 changed files with 0 additions and 0 deletions

50
pidd/project.py Normal file
View file

@ -0,0 +1,50 @@
"""CI project."""
from __future__ import annotations
from pathlib import Path
from typing import TYPE_CHECKING
from urllib.parse import urljoin
if TYPE_CHECKING:
from cidd.projects import Projects
BRANCH = [
"GITHUB_REF_NAME",
"CI_COMMIT_BRANCH",
]
NAME = [
"GITHUB_REPOSITORY",
"CI_PROJECT_PATH",
]
ROOT = [
"GITHUB_WORKSPACE",
"CI_PROJECT_DIR",
]
class Project:
def __init__(self: Project, projects: Projects) -> None:
self.projects = projects
# branch
for variable in BRANCH:
if value := projects.environment.get(variable, None):
self.branch = value
# name
for variable in NAME:
if value := projects.environment.get(variable, None):
self.name = Path(value).name
# root
for variable in ROOT:
if value := projects.environment.get(variable, None):
self.root = value
# url
self.url = urljoin(projects.url, self.name)
def __str__(self: Project) -> str:
return f"""\
branch = {self.branch}
name = {self.name}
root = {self.root}
url = {self.url}
"""