fix: correct vl_spec syntax and use POST for Kroki
This commit is contained in:
@@ -1244,19 +1244,21 @@ class OpenWebUIStats:
|
|||||||
}
|
}
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# 1. 生成 Kroki URL
|
# 1. 使用 POST 请求 Kroki (避免 URL 过长问题)
|
||||||
json_spec = json.dumps(vl_spec)
|
json_spec = json.dumps(vl_spec)
|
||||||
compressed = zlib.compress(json_spec.encode("utf-8"), level=9)
|
kroki_url = "https://kroki.io/vegalite/svg"
|
||||||
encoded = base64.urlsafe_b64encode(compressed).decode("utf-8")
|
|
||||||
kroki_url = f"https://kroki.io/vegalite/svg/{encoded}"
|
print(f"📥 Generating chart via Kroki (POST)...")
|
||||||
|
resp = requests.post(kroki_url, data=json_spec)
|
||||||
|
|
||||||
# 2. 从 Kroki 下载 SVG
|
|
||||||
print(f"📥 Generating chart via Kroki...")
|
|
||||||
resp = requests.get(kroki_url)
|
|
||||||
if resp.status_code != 200:
|
if resp.status_code != 200:
|
||||||
print(f"⚠️ Kroki request failed: {resp.status_code}")
|
print(f"⚠️ Kroki request failed: {resp.status_code}")
|
||||||
|
# 尝试打印一点错误信息
|
||||||
|
print(f"Response: {resp.text[:200]}")
|
||||||
return
|
return
|
||||||
|
|
||||||
svg_content = resp.text
|
svg_content = resp.text
|
||||||
|
print(f"✅ Kroki SVG generated ({len(svg_content)} bytes)")
|
||||||
|
|
||||||
# 3. 上传到 Gist
|
# 3. 上传到 Gist
|
||||||
url = f"https://api.github.com/gists/{self.gist_id}"
|
url = f"https://api.github.com/gists/{self.gist_id}"
|
||||||
@@ -1266,7 +1268,7 @@ class OpenWebUIStats:
|
|||||||
if resp.status_code == 200:
|
if resp.status_code == 200:
|
||||||
print(f"✅ 图表 SVG 已同步至 Gist: chart.svg")
|
print(f"✅ 图表 SVG 已同步至 Gist: chart.svg")
|
||||||
else:
|
else:
|
||||||
print(f"⚠️ Gist upload failed: {resp.status_code} {resp.text}")
|
print(f"⚠️ Gist upload failed: {resp.status_code} {resp.text[:200]}")
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"⚠️ 上传图表失败: {e}")
|
print(f"⚠️ 上传图表失败: {e}")
|
||||||
|
|||||||
Reference in New Issue
Block a user