This commit is contained in:
2025-05-09 16:45:47 +07:00
parent f3209619c5
commit 9a563364ea
5 changed files with 65 additions and 47 deletions
+2 -1
View File
@@ -1,4 +1,5 @@
from .config import GiteaConfig
from .api import GiteaApi
from .utils import GiteaUtils
__all__ = ["GiteaConfig", "GiteaApi"]
__all__ = ["GiteaConfig", "GiteaApi", "GiteaUtils"]
Binary file not shown.
Binary file not shown.
+57
View File
@@ -0,0 +1,57 @@
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}")
+6 -46
View File
@@ -5,52 +5,12 @@ import os
import json
from datetime import datetime
def update_release(repo_instance, **params):
try:
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(repo_instance, **params):
return repo_instance.repo_get_release(
owner=params["owner"],
repo=params["repo"],
id=params["release_id"], # Release ID
)
def delete_release_attachment(repo_instance, **params):
repo_instance.repo_delete_release_attachment(
owner=params["owner"],
repo=params["repo"],
id=params["release_id"], # Release ID
attachment_id=params["attachment_id"],
)
def create_release_attachment(repo_instance, **params):
repo_instance.repo_create_release_attachment(
owner=params["owner"],
repo=params["repo"],
id=params["release_id"], # Release ID
attachment=params["attachment_path"],
)
from gitea import GiteaUtils
def main():
gitea_instance = GiteaApi()
admin_instance = gitea_instance.admin_gitea_instance()
repo_instance = gitea_instance.repo_gitea_instance()
gitea_utils = GiteaUtils(gitea_instance)
current_file_path = os.path.abspath(__file__)
# Parameters
owner = "CDN"
@@ -65,13 +25,13 @@ def main():
"release_id": release_id,
"attachment_path": attachment_path,
}
assets = get_release(repo_instance, **params).assets
update_release(repo_instance, **params)
assets = gitea_utils.get_release(**params).assets
gitea_utils.update_release(**params)
for asset in assets:
if asset.name == "registry.zip":
params["attachment_id"] = asset.id
delete_release_attachment(repo_instance, **params)
create_release_attachment(repo_instance, **params)
gitea_utils.delete_release_attachment(**params)
gitea_utils.create_release_attachment(**params)
if __name__ == "__main__":