Fix symbol dropdown broken by JS syntax error in symbol.js.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,54 @@
|
|||||||
|
"""Deploy symbol.js syntax fix."""
|
||||||
|
import paramiko
|
||||||
|
import sys
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
sys.stdout.reconfigure(encoding="utf-8", errors="replace")
|
||||||
|
root = Path(__file__).resolve().parents[1]
|
||||||
|
|
||||||
|
c = paramiko.SSHClient()
|
||||||
|
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
||||||
|
c.connect("192.168.8.21", username="root", password="woaini88", timeout=15)
|
||||||
|
sftp = c.open_sftp()
|
||||||
|
sftp.put(str(root / "static/js/symbol.js"), "/opt/qihuo/static/js/symbol.js")
|
||||||
|
print("uploaded symbol.js")
|
||||||
|
sftp.close()
|
||||||
|
|
||||||
|
VERIFY = r"""
|
||||||
|
import sys, urllib.request, urllib.parse, http.cookiejar, json
|
||||||
|
sys.path.insert(0, "/opt/qihuo")
|
||||||
|
|
||||||
|
jar = http.cookiejar.CookieJar()
|
||||||
|
op = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(jar))
|
||||||
|
user = pwd = ""
|
||||||
|
for line in open("/opt/qihuo/.env"):
|
||||||
|
line = line.strip()
|
||||||
|
if line.startswith("ADMIN_USERNAME="):
|
||||||
|
user = line.split("=", 1)[1].strip().strip('"').strip("'")
|
||||||
|
if line.startswith("ADMIN_PASSWORD="):
|
||||||
|
pwd = line.split("=", 1)[1].strip().strip('"').strip("'")
|
||||||
|
op.open(urllib.request.Request(
|
||||||
|
"http://127.0.0.1:6600/login",
|
||||||
|
urllib.parse.urlencode({"username": user, "password": pwd}).encode(),
|
||||||
|
))
|
||||||
|
raw = op.open("http://127.0.0.1:6600/api/symbols/recommended").read().decode()
|
||||||
|
groups = json.loads(raw)
|
||||||
|
items = sum(len(g.get("items") or []) for g in groups)
|
||||||
|
print("recommended groups", len(groups), "items", items)
|
||||||
|
js = open("/opt/qihuo/static/js/symbol.js", encoding="utf-8").read()
|
||||||
|
if "if item.near_expiry)" in js:
|
||||||
|
print("FAIL syntax still broken")
|
||||||
|
elif items <= 0:
|
||||||
|
print("WARN no recommended items")
|
||||||
|
else:
|
||||||
|
print("VERIFY PASS")
|
||||||
|
"""
|
||||||
|
|
||||||
|
sftp = c.open_sftp()
|
||||||
|
with sftp.open("/tmp/verify_symbol_js.py", "w") as f:
|
||||||
|
f.write(VERIFY)
|
||||||
|
sftp.close()
|
||||||
|
_, o, e = c.exec_command("cd /opt/qihuo && /opt/qihuo/venv/bin/python /tmp/verify_symbol_js.py")
|
||||||
|
print(o.read().decode("utf-8", errors="replace"))
|
||||||
|
print(e.read().decode("utf-8", errors="replace"))
|
||||||
|
c.close()
|
||||||
+1
-1
@@ -106,7 +106,7 @@
|
|||||||
div.classList.add('near-expiry');
|
div.classList.add('near-expiry');
|
||||||
}
|
}
|
||||||
var label = item.display || (item.name + ' ' + item.ths_code);
|
var label = item.display || (item.name + ' ' + item.ths_code);
|
||||||
if item.near_expiry) {
|
if (item.near_expiry) {
|
||||||
label += ' <span class="near-expiry-tag">临期</span>';
|
label += ' <span class="near-expiry-tag">临期</span>';
|
||||||
}
|
}
|
||||||
if (item.has_night_session) {
|
if (item.has_night_session) {
|
||||||
|
|||||||
Reference in New Issue
Block a user