61 lines
2.3 KiB
Python
61 lines
2.3 KiB
Python
import json
|
|
import sys
|
|
|
|
|
|
|
|
|
|
def generate_markdown(result):
|
|
# 生成 Markdown 格式
|
|
markdown_output = []
|
|
for vendor, models in result.items():
|
|
markdown_output.append(f"# {vendor}")
|
|
markdown_output.append("Model | Platform | USB | PCIe ")
|
|
markdown_output.append("--- | --- | --- | ---")
|
|
for model, support in models.items():
|
|
markdown_output.append(f"{model} | {support['platform']} |{support['usb']} | {support['pcie']}")
|
|
markdown_output.append("") # 空行分隔
|
|
return markdown_output
|
|
|
|
def generate_github_release_notes(result):
|
|
# 生成 GitHub 发布说明格式
|
|
release_notes = []
|
|
for vendor, models in result.items():
|
|
release_notes.append(f"## {vendor}")
|
|
for model, support in models.items():
|
|
release_notes.append(f"- {model}: USB - {support['usb']}, PCIe - {support['pcie']}")
|
|
release_notes.append("")
|
|
return release_notes
|
|
|
|
|
|
if __name__ == "__main__":
|
|
prefix = sys.argv[1] if len(sys.argv) > 1 else 'support_list'
|
|
file_name = sys.argv[2] if len(sys.argv) > 2 else 'luci/luci-app-qmodem/root/usr/share/qmodem/modem_support.json'
|
|
# 加载 JSON 数据
|
|
with open(file_name, 'r') as file:
|
|
data = json.load(file)
|
|
|
|
# 初始化结果字典
|
|
result = {}
|
|
|
|
# 遍历 USB 和 PCIe 数据
|
|
for interface_type in ['usb', 'pcie']:
|
|
for model, details in data['modem_support'][interface_type].items():
|
|
vendor = details.get('manufacturer', 'unknown').lower()
|
|
platform = details.get('platform', 'unknown').lower()
|
|
modes = ','.join(details.get('modes', []))
|
|
support = f"✔ {interface_type}({modes})"
|
|
|
|
if vendor not in result:
|
|
result[vendor] = {}
|
|
if model not in result[vendor]:
|
|
result[vendor][model] = {'usb': '✘', 'pcie': '✘'}
|
|
|
|
result[vendor][model][interface_type] = support
|
|
result[vendor][model]['platform'] = platform
|
|
markdown_output = generate_markdown(result)
|
|
release_notes = generate_github_release_notes(result)
|
|
with open(f"{prefix}.md", 'w') as f:
|
|
f.write("\n".join(markdown_output))
|
|
with open(f"{prefix}_release_notes.md", 'w') as f:
|
|
f.write("\n".join(release_notes))
|