Skip to content

Commit

Permalink
feat: add validate_env helper function
Browse files Browse the repository at this point in the history
  • Loading branch information
seyLu committed Aug 27, 2023
1 parent b02c4af commit 9120593
Showing 1 changed file with 19 additions and 11 deletions.
30 changes: 19 additions & 11 deletions scripts/setup_issue_label.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,15 @@
from requests.models import Response

load_dotenv()
fileConfig("logging.ini")


def validate_env(env: str) -> str:
_env: str | None = os.getenv(env)
if not _env:
logging.error(f"{env} environment variable not set.")
sys.exit()
return _env


@dataclass(frozen=True)
Expand All @@ -33,21 +42,21 @@ class BasePath:
CONFIG: str = "config"


@dataclass(frozen=True)
class GithubConfig:
PERSONAL_ACCESS_TOKEN: str = os.getenv("GITHUB_PERSONAL_ACCESS_TOKEN")
USERNAME: str = os.getenv("GITHUB_USERNAME")
REPO_OWNER: str = os.getenv("GITHUB_REPO_OWNER")
REPO_NAME: str = os.getenv("GITHUB_REPO_NAME")


@dataclass(frozen=True)
class LabelFile:
_BASE_FILE: str = os.path.join(BasePath.CWD, "..", BasePath.CONFIG, "labels")
YAML: str = f"{_BASE_FILE}.yaml"
JSON: str = f"{_BASE_FILE}.json"


@dataclass(frozen=True)
class GithubConfig:
PERSONAL_ACCESS_TOKEN: str = validate_env("GITHUB_PERSONAL_ACCESS_TOKEN")
USERNAME: str = validate_env("GITHUB_USERNAME")
REPO_OWNER: str = validate_env("GITHUB_REPO_OWNER")
REPO_NAME: str = validate_env("GITHUB_REPO_NAME")


class GithubIssueLabel:
def __init__(self) -> None:
self._url: str = f"https://api.github.com/repos/{GithubConfig.REPO_OWNER}/{GithubConfig.REPO_NAME}/labels"
Expand Down Expand Up @@ -97,11 +106,10 @@ def create_labels(self) -> None:


def main() -> None:
github_issue_label = GithubIssueLabel()
github_issue_label.create_labels()
GithubIssueLabel()
# github_issue_label.create_labels()
logging.info("Label creation process completed.")


if __name__ == "__main__":
fileConfig("logging.ini")
main()

0 comments on commit 9120593

Please sign in to comment.