Spaces:
Running
Running
File size: 2,977 Bytes
24a2ddf | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | import re
with open('D:/workAI/OpenCode/WorkSpace/backend-service/server.js', 'r', encoding='utf-8') as f:
content = f.read()
# Clean _renderFullHtml: replace entire debug-heavy section with clean version
# Find from setViewport to dataUrl assignment
pattern = r"( await page\.setViewport\(\{ width: 800, height: 500 \}\);).*?(const dataUrl = `data:image/png;base64,\$\{screenshot\.toString\('base64'\)\}`;)"
replacement = r""" await page.setViewport({ width: 800, height: 500 });
await page.setContent(htmlContent, { waitUntil: 'networkidle0', timeout: 15000 });
const rendered = await page.waitForFunction(
() => window._widgetRendered === true,
{ timeout: renderTimeout }
).catch(() => null);
if (!rendered) {
console.log(`[WIDGET] _renderFullHtml timeout after ${renderTimeout}ms, trying screenshot anyway`);
await new Promise(r => setTimeout(r, 1000));
}
const container = await page.$('#widget-container');
let screenshot;
if (container) {
screenshot = await container.screenshot({ type: 'png', omitBackground: false });
} else {
screenshot = await page.screenshot({ type: 'png', fullPage: true, omitBackground: false });
}
const dataUrl = `data:image/png;base64,${screenshot.toString('base64')}`;"""
content = re.sub(pattern, replacement, content, flags=re.DOTALL)
print("CLEANED: _renderFullHtml debug blocks")
# Remove debugId from _renderFullHtml call
content = content.replace(
"return this._renderFullHtml(html, chartTitle, 8000, chartType, debugId);",
"return this._renderFullHtml(html, chartTitle, 8000, chartType);"
)
print("CLEANED: Removed debugId from _renderFullHtml call")
# Remove debugId from method signature
content = content.replace(
"async _renderFullHtml(htmlContent, title, renderTimeout, chartType, debugId)",
"async _renderFullHtml(htmlContent, title, renderTimeout, chartType)"
)
print("CLEANED: Removed debugId from _renderFullHtml signature")
# Remove redundant fs require in renderChatGPTChart (already partially cleaned)
old_debug = """ const html = this.buildChatGPTChartHtml(chartType, series, data, xKey, nameKey, valueKey, formattedData, axes, chartTitle, chartDesc);
// DEBUG: Write HTML to disk for inspection
const fs = require('fs');
const debugId = `${chartType}-${Date.now()}`;
fs.writeFileSync(`/tmp/chart-debug-${debugId}.html`, html);
// DO NOT use renderWidgetPuppeteer"""
if old_debug in content:
content = content.replace(old_debug,
" const html = this.buildChatGPTChartHtml(chartType, series, data, xKey, nameKey, valueKey, formattedData, axes, chartTitle, chartDesc);")
print("CLEANED: Removed /tmp debug HTML write")
else:
print("INFO: /tmp debug write already cleaned or not found")
with open('D:/workAI/OpenCode/WorkSpace/backend-service/server.js', 'w', encoding='utf-8') as f:
f.write(content)
print("Done.")
|