58 lines
2.0 KiB
Python
58 lines
2.0 KiB
Python
import giteapy
|
|
from datetime import datetime
|
|
from .config import GiteaConfig
|
|
from .api import GiteaApi
|
|
|
|
|
|
class GiteaUtils:
|
|
def __init__(self, gitea_instance: GiteaApi):
|
|
self.config = GiteaConfig().configuration
|
|
self.repo_instance = gitea_instance.repo_gitea_instance()
|
|
|
|
def update_release(self, **params):
|
|
try:
|
|
self.repo_instance.repo_edit_release(
|
|
owner=params["owner"],
|
|
repo=params["repo"],
|
|
id=params["release_id"], # Release ID
|
|
body=giteapy.EditReleaseOption(
|
|
name=f"Bifrost Registry {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"
|
|
),
|
|
)
|
|
print("Update release success")
|
|
except Exception as e:
|
|
print(f"Update release failed: {e}")
|
|
|
|
def get_release(self, **params):
|
|
try:
|
|
return self.repo_instance.repo_get_release(
|
|
owner=params["owner"],
|
|
repo=params["repo"],
|
|
id=params["release_id"], # Release ID
|
|
)
|
|
except Exception as e:
|
|
print(f"Get release failed: {e}")
|
|
return None
|
|
|
|
def delete_release_attachment(self, **params):
|
|
try:
|
|
self.repo_instance.repo_delete_release_attachment(
|
|
owner=params["owner"],
|
|
repo=params["repo"],
|
|
id=params["release_id"], # Release ID
|
|
attachment_id=params["attachment_id"],
|
|
)
|
|
except Exception as e:
|
|
print(f"Delete release attachment failed: {e}")
|
|
|
|
def create_release_attachment(self, **params):
|
|
try:
|
|
self.repo_instance.repo_create_release_attachment(
|
|
owner=params["owner"],
|
|
repo=params["repo"],
|
|
id=params["release_id"], # Release ID
|
|
attachment=params["attachment_path"],
|
|
)
|
|
except Exception as e:
|
|
print(f"Create release attachment failed: {e}")
|