From 2612f99f35f4f99ff855bc9040d9f145d0cc2e70 Mon Sep 17 00:00:00 2001 From: snowykami Date: Tue, 17 Sep 2024 14:52:26 +0800 Subject: [PATCH] =?UTF-8?q?:package:=20docs:=20=E8=B5=84=E6=BA=90=E5=95=86?= =?UTF-8?q?=E5=BA=97=E6=96=B0=E5=A2=9E=E5=8F=91=E5=B8=83=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- liteyuki_flow/resource_handler.py | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/liteyuki_flow/resource_handler.py b/liteyuki_flow/resource_handler.py index 9baf2926..ffa48b8a 100644 --- a/liteyuki_flow/resource_handler.py +++ b/liteyuki_flow/resource_handler.py @@ -30,32 +30,33 @@ def pre_check(github: Github, issue: Issue, repo: Repository) -> err: homepage = parser.front_matters.get("homepage") # optional author = parser.front_matters.get("author") if not all((name, desc, link, author)): - issue.create_comment("name, desc, link, homepage and author are required.") - return ValueError("name, desc, link, homepage and author are required.") + issue.create_comment("name, desc, link, homepage 及 author 为必填字段.") + return ValueError("name, desc, link, homepage 及 author 为必填字段.") # 下载并解析资源包 r = requests.get(link) + print(r.status_code) if r.status_code != 200: - issue.create_comment("Download failed.") - return ValueError("Download failed.") + issue.create_comment("下载失败.") + return ValueError("下载失败.") - with open(f"tmp/{name}.zip", "wb") as f: - f.write(r.content) - # 解压 - with zipfile.ZipFile(f"tmp/{name}.zip", "r") as z: - z.extractall(f"tmp/{name}") - # 检测包内metadata.yml文件 try: + with open(f"tmp/{name}.zip", "wb") as f: + f.write(r.content) + # 解压 + with zipfile.ZipFile(f"tmp/{name}.zip", "r") as z: + z.extractall(f"tmp/{name}") + # 检测包内metadata.yml文件 data = yaml.load(open(f"tmp/{name}/metadata.yml"), Loader=yaml.SafeLoader) except Exception: - issue.create_comment("metadata.yml not found or invalid.") - return ValueError("metadata.yml not found or invalid.") + issue.create_comment("解析资源包失败,可能是格式问题或metadata.yml不存在.") + return ValueError("解析资源包失败,可能是格式问题或metadata.yml不存在.") # 检测必要字段 name,description,version if not all((data.get("name"), data.get("description"), data.get("version"))): - issue.create_comment("name, description and version are required in metadata.yml.") - return ValueError("name, description and version are required in metadata.yml.") + issue.create_comment("元数据中缺少必要字段 name, description 或 version.") + return ValueError("元数据中缺少必要字段 name, description 或 version.") # 不检测重复资源包,因为资源包可能有多个版本 # 检测通过,编辑原issue