test: update
Some checks failed
WakaReadme CI / UnitTests (push) Failing after 19s

This commit is contained in:
sangge 2024-01-15 02:38:12 +08:00
parent 5dc349128a
commit 108a90abce
3 changed files with 30 additions and 16 deletions

32
main.py
View File

@ -42,7 +42,8 @@ from typing import Any
# external
from faker import Faker
from github import ContentFile, Github, GithubException, InputGitAuthor, Repository
# from github import ContentFile, Github, GithubException, InputGitAuthor, Repository
from gitea import *
from requests import get as rq_get
from requests.exceptions import RequestException
@ -127,7 +128,7 @@ class WakaInput:
# mapped environment variables
# # required
gh_token: str | None = os.getenv("INPUT_GH_TOKEN")
gitea_token: str | None = os.getenv("INPUT_GITEA_TOKEN")
waka_key: str | None = os.getenv("INPUT_WAKATIME_API_KEY")
api_base_url: str | None = os.getenv("INPUT_API_BASE_URL", "https://wakatime.com/api")
repository: str | None = os.getenv("INPUT_REPOSITORY")
@ -161,7 +162,7 @@ class WakaInput:
def validate_input(self):
"""Validate Input Env Variables."""
logger.debug("Validating input variables")
if not self.gh_token or not self.waka_key or not self.api_base_url or not self.repository:
if not self.gitea_token or not self.waka_key or not self.api_base_url or not self.repository:
logger.error("Invalid inputs")
logger.info("Refer https://github.com/athul/waka-readme")
return False
@ -416,7 +417,7 @@ def churn(old_readme: str, /):
return None if new_readme == old_readme else new_readme
def qualify_target(gh_repo: Repository.Repository):
def qualify_target(gitea_repo: Repository.Repository):
"""Qualify target repository defaults."""
@dataclass
@ -429,15 +430,15 @@ def qualify_target(gh_repo: Repository.Repository):
committer: InputGitAuthor | None
author: InputGitAuthor | None
gh_branch = gh_repo.default_branch
gitea_branch = gitea_repo.default_branch
if wk_i.target_branch != "NOT_SET":
gh_branch = gh_repo.get_branch(wk_i.target_branch)
gitea_branch = gitea_repo.get_branch(wk_i.target_branch)
target = gh_repo.get_readme()
target = gitea_repo.get_readme()
if wk_i.target_path != "NOT_SET":
target = gh_repo.get_contents(
target = gitea_repo.get_contents(
path=wk_i.target_path,
ref=gh_branch if isinstance(gh_branch, str) else gh_branch.commit.sha,
ref=gitea_branch if isinstance(gitea_branch, str) else gitea_branch.commit.sha,
)
if isinstance(target, list):
@ -454,7 +455,7 @@ def qualify_target(gh_repo: Repository.Repository):
path=target.path,
commit_message=wk_i.commit_message,
sha=target.sha,
branch=gh_branch if isinstance(gh_branch, str) else gh_branch.name,
branch=gitea_branch if isinstance(gitea_branch, str) else gitea_branch.name,
committer=committer,
author=author,
)
@ -462,12 +463,13 @@ def qualify_target(gh_repo: Repository.Repository):
def genesis():
"""Run Program."""
logger.debug("Connecting to GitHub")
gh_connect = Github(wk_i.gh_token)
logger.debug("Connecting to Gitea")
gitea_connect = Gitea(wk_i.gitea_token)
# since a validator is being used earlier, casting
# `wk_i.ENV_VARIABLE` to a string here, is okay
gh_repo = gh_connect.get_repo(str(wk_i.repository))
target = qualify_target(gh_repo)
gitea_repo = gitea_connect.get_repo(str(wk_i.repository))
target = qualify_target(gitea_repo)
logger.debug("Decoding readme contents\n")
readme_contents = str(target.this.decoded_content, encoding="utf-8")
@ -477,7 +479,7 @@ def genesis():
logger.debug("WakaReadme stats has changed")
update_metric = partial(
gh_repo.update_file,
gitea_repo.update_file,
path=target.path,
message=target.commit_message,
content=new_content,

View File

@ -16,7 +16,7 @@ classifiers = [
"Typing :: Typed",
]
requires-python = ">=3.12"
dependencies = ["faker>=21.0.0", "pygithub>=2.1.1", "requests>=2.31.0"]
dependencies = ["faker>=21.0.0", "pygithub>=2.1.1", "requests>=2.31.0", "py-gitea">=0.2.6]
[project.urls]
Homepage = "https://github.com/athul/waka-readme"

12
test_giteaapi.py Normal file
View File

@ -0,0 +1,12 @@
from gitea import *
URL = "https://git.mamahaha.work"
TOKEN = open("token.log", "r").read().strip()
gitea_connect = Gitea(URL, TOKEN)
print("Gitea Version: " + gitea_connect.get_version())
print("API-Token belongs to user: " + gitea_connect.get_user().username)
#repository = "sangge/tpre-python"
#target_branch = "main"
#gitea_repo = gitea_connect.get_repo(str(repository))
#gitea_branch = gitea_repo.get_branch(target_branch)
#print(gitea_branch)