📦 docs: 资源商店新增发布资源功能
This commit is contained in:
60
liteyuki_flow/__main__.py
Normal file
60
liteyuki_flow/__main__.py
Normal file
@ -0,0 +1,60 @@
|
||||
"""
|
||||
Module docs
|
||||
"""
|
||||
import os
|
||||
from github import Github
|
||||
from argparse import ArgumentParser
|
||||
|
||||
from liteyuki_flow.const import PLUGIN_PREFIX, RESOURCE_PREFIX
|
||||
from liteyuki_flow.typ import err, nil # type: ignore
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = ArgumentParser()
|
||||
parser.add_argument("--handle", action="store_true") # 处理issue
|
||||
|
||||
parser.add_argument("-p", "--parse", action="store_true") # 解析markdown文件
|
||||
parser.add_argument("-i", "--input", type=str, help="Path to the markdown file.")
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.handle:
|
||||
print("Starting the issue handler module...")
|
||||
ISSUE_NUMBER = os.getenv("ISSUE_NUMBER")
|
||||
REPOSITORY = os.getenv("REPOSITORY")
|
||||
ACT_TYPE = os.getenv("ACT_TYPE") # opened, edited, closed, reopened
|
||||
if ISSUE_NUMBER is None or REPOSITORY is None or ACT_TYPE is None:
|
||||
raise ValueError("Issue number, repository and action type are required.")
|
||||
|
||||
g = Github(os.getenv("GITHUB_TOKEN"))
|
||||
repo = g.get_repo(REPOSITORY)
|
||||
issue = g.get_repo(REPOSITORY).get_issue(int(ISSUE_NUMBER))
|
||||
|
||||
# 审资源
|
||||
if issue.title.strip().startswith(RESOURCE_PREFIX):
|
||||
from resource_handler import handle_resource # type: ignore
|
||||
handle_resource(github=g, issue=issue, repo=repo, act_type=ACT_TYPE)
|
||||
|
||||
# 审插件
|
||||
elif issue.title.strip().startswith(PLUGIN_PREFIX):
|
||||
from plugin_handler import handle_plugin # type: ignore
|
||||
pass
|
||||
|
||||
else:
|
||||
print("No handler found for the issue.")
|
||||
|
||||
elif args.parse:
|
||||
print("Starting the markdown parser module...")
|
||||
from .markdown_parser import MarkdownParser # type: ignore
|
||||
|
||||
if args.input is None:
|
||||
raise ValueError("Input file is required.")
|
||||
with open(args.input, "r", encoding="utf-8") as f:
|
||||
content = f.read()
|
||||
|
||||
md_parser = MarkdownParser(content) # type: ignore
|
||||
err = md_parser.parse_front_matters() # type: ignore
|
||||
if err != nil:
|
||||
print(f"Err: {err}")
|
||||
for k, v in md_parser.front_matters.content.items():
|
||||
print(f"{k}: {v}")
|
||||
else:
|
||||
print("No module specified.")
|
Reference in New Issue
Block a user