Coverage for kwasa\libs\delete_repos.py: 0%
23 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-14 18:06 +0300
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-14 18:06 +0300
1import requests
2from dotenv import load_dotenv
3import os
5load_dotenv()
8token = os.environ.get("")
10username = os.environ.get("")
13def delete_repositories(repos: list[str] | str = []) -> None:
14 api_url = "https://api.github.com/repos/{}/{}"
15 headers = {
16 "Authorization": f"token {token}",
17 "Accept": "application/vnd.github.v3+json",
18 }
20 if isinstance(repos, list):
21 for repo in repos_to_delete:
22 delete_repo(api_url, repo, headers)
23 else:
24 delete_repo(api_url, repo, headers)
27def delete_repo(api_url: str, repo: str, headers: dict[str, str]) -> None:
28 repo_url = api_url.format(username, repo)
29 response = requests.delete(repo_url, headers=headers)
31 if response.status_code == 204:
32 print(f"Successfully deleted: {repo}")
33 else:
34 print(f"Failed to delete {repo}. Status code: {response.status_code}")
35 print(response.json())
38if __name__ == "__main__":
39 repos_to_delete = [
40 "example",
41 ]
42 delete_repositories(repos_to_delete)