{
  "sha": "ed12f591b06a388aa0dabb32551b7707d2547f5f",
  "message": "新增 AeroTime 航空新聞來源",
  "author": {
    "login": "nnneeeooo-nnneeeooo",
    "name": "",
    "email": ""
  },
  "committer": {
    "login": "nnneeeooo-nnneeeooo",
    "name": "",
    "email": ""
  },
  "created_at": "2026-07-29T16:45:36Z",
  "files": [
    {
      "filename": "pipeline/common.py",
      "previous_filename": "",
      "status": "modified",
      "additions": 12,
      "deletions": 0,
      "changes": 12
    },
    {
      "filename": "tests/test_sources.py",
      "previous_filename": "",
      "status": "added",
      "additions": 22,
      "deletions": 0,
      "changes": 22
    }
  ],
  "diff": "@@ -279,6 +279,18 @@ def group_has_material(group: dict) -> bool:\\n             \"en\": \"Global aviation news & analysis\",\\n         },\\n     },\\n+    \"aerotime\": {\\n+        \"name\": \"AeroTime\",\\n+        \"kind\": \"media\",\\n+        \"fmt\": \"RSS\",\\n+        \"url\": \"https://www.aerotime.aero\",\\n+        \"endpoint\": \"https://www.aerotime.aero/feed\",\\n+        \"type\": \"rss\",\\n+        \"cover\": {\\n+            \"zh\": \"全球航空新聞、產業動態與分析\",\\n+            \"en\": \"Global aviation news, industry updates & analysis\",\\n+        },\\n+    },\\n     \"cnataiwan\": {\\n         \"name\": \"中央社 CNA\",\\n         \"kind\": \"media\",\\n@@ -0,0 +1,22 @@\\n+\"\"\"Source-registry regression tests.\"\"\"\\n+from __future__ import annotations\\n+\\n+import sys\\n+from pathlib import Path\\n+\\n+REPO = Path(__file__).resolve().parent.parent\\n+sys.path.insert(0, str(REPO / \"pipeline\"))\\n+\\n+import common  # noqa: E402\\n+\\n+\\n+def test_aerotime_is_a_primary_rss_source() -> None:\\n+    source = common.SOURCES[\"aerotime\"]\\n+\\n+    assert source[\"name\"] == \"AeroTime\"\\n+    assert source[\"kind\"] == \"media\"\\n+    assert source[\"fmt\"] == \"RSS\"\\n+    assert source[\"type\"] == \"rss\"\\n+    assert source[\"url\"] == \"https://www.aerotime.aero\"\\n+    assert source[\"endpoint\"] == \"https://www.aerotime.aero/feed\"\\n+    assert source.get(\"public\", True) is True"
}
