diff --git a/main.py b/main.py index eeb88ae..b267abf 100644 --- a/main.py +++ b/main.py @@ -44,7 +44,7 @@ from typing import Any from faker import Faker # from github import ContentFile, Github, GithubException, InputGitAuthor, Repository -from gitea import * +import gitea from requests import get as rq_get from requests.exceptions import RequestException @@ -136,7 +136,7 @@ class WakaInput: gitea_url: str | None = os.getenv("GITHUB_SERVER_URL", "https://gitea.com") 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") + repository: str | None = os.getenv("INPUT_REPOSITORY", ".profile") # # depends commit_message: str = os.getenv( "INPUT_COMMIT_MESSAGE", "Updated WakaReadme graph with new metrics" @@ -428,13 +428,13 @@ def churn(old_readme: str, /): # def qualify_target(gitea_repo: Repository.Repository): -def qualify_target(gitea_repo: Repository, gitea_connect: Gitea): +def qualify_target(gitea_repo: gitea.Repository, gitea_connect: gitea.Gitea): """Qualify target repository defaults.""" @dataclass class TargetRepository: # this: ContentFile.ContentFile - this: Content + this: gitea.Content path: str commit_message: str sha: str @@ -448,9 +448,9 @@ def qualify_target(gitea_repo: Repository, gitea_connect: Gitea): # if wk_i.target_branch != "NOT_SET": # gitea_branch = gitea_repo.get_branch(wk_i.target_branch) - readme_content = Content(gitea_connect) + readme_content = gitea.Content(gitea_connect) readme_content.path = "README.md" - readme_content.type = Content.FILE + readme_content.type = gitea.Content.FILE target = gitea_repo.get_file_content(readme_content) # base64 encoded # target = gitea_repo.get_readme() @@ -483,14 +483,18 @@ def qualify_target(gitea_repo: Repository, gitea_connect: Gitea): def genesis(): """Run Program.""" logger.debug("Connecting to Gitea") - gitea_connect = Gitea(wk_i.gitea_url, wk_i.gitea_token) + gitea_connect = gitea.Gitea(wk_i.gitea_url, wk_i.gitea_token) + logger.debug("logged into gitea\n") # since a validator is being used earlier, casting # `wk_i.ENV_VARIABLE` to a string here, is okay # gitea_repo = gitea_connect.get_repo(str(wk_i.repository)) + owner = "sangge" repo_name = ".profile" - gitea_repo = Repository.request(gitea_connect, owner, repo_name) + gitea_repo = gitea.Repository.request(gitea_connect, owner, repo_name) + if len(sys.argv) == 2 and sys.argv[1] == "--dev": + logger.debug("Detected run in `dev` mode.,fetched repo \n") target = qualify_target(gitea_repo, gitea_connect) logger.debug("Decoding readme contents\n") @@ -516,7 +520,6 @@ def genesis(): b64_new_content = b64encode(bytes(new_content, "utf-8")) repo_content = gitea_repo.get_git_content() readmes = [c for c in repo_content if c.name == "README.md"] - sha = readmes[0].sha str_new_content = b64_new_content.decode("utf-8") gitea_repo.change_file(readmes[0].name, readmes[0].sha, str_new_content) logger.info("Stats updated successfully") diff --git a/test_giteaapi.py b/test_giteaapi.py index e0ed4eb..6473f9f 100644 --- a/test_giteaapi.py +++ b/test_giteaapi.py @@ -1,12 +1,39 @@ from gitea import * +import os +from base64 import b64decode, b64encode + 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) \ No newline at end of file +# Repository details +owner = "sangge" # Replace with the repository owner's username +repo_name = ".profile" # Replace with the repository name + +# Get repository object +gitea_repo = Repository.request(gitea_connect, owner, repo_name) +print(gitea_repo.get_branches()[0].name) + +readme_content = Content(gitea_connect) +readme_content.path = "README.md" +readme_content.type = Content.FILE +readme_data = gitea_repo.get_file_content(readme_content) + + +readme_contents = str(b64decode(readme_data), encoding="utf-8") + "123123" +# print(readme_contents) + +readme_content = Content(gitea_connect) +readme_content.path = "README.md" +readme_content.type = Content.FILE + +b64_readme_contents = b64encode(bytes(readme_contents, "utf-8")) +content = b64_readme_contents.decode("ascii") + +acontent = gitea_repo.get_git_content() +readmes = [c for c in acontent if c.name == "README.md"] +# gitea_repo.change_file(readmes[0].name, readmes[0].sha, content) +print(content) +print(b64_readme_contents)