Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
Harheem Kim
commited on
Commit
·
1424b26
1
Parent(s):
218df54
fix bug: en version model card download
Browse files- tabs/leaderboard_v1_en.py +16 -7
tabs/leaderboard_v1_en.py
CHANGED
|
@@ -2325,18 +2325,18 @@ def create_leaderboard_v2_tab():
|
|
| 2325 |
)
|
| 2326 |
download_card_btn = gr.Button(
|
| 2327 |
"Download as PNG",
|
| 2328 |
-
elem_id="download-card-btn",
|
| 2329 |
elem_classes=["pill-button"]
|
| 2330 |
)
|
| 2331 |
|
| 2332 |
gr.HTML("""
|
| 2333 |
-
<div class="performance-card-display" id="card-display-container">
|
| 2334 |
""")
|
| 2335 |
|
| 2336 |
# Card display area - generate initial card
|
| 2337 |
initial_model = initial_df['Model'].tolist()[0] if len(initial_df) > 0 else None
|
| 2338 |
initial_card_html = generate_performance_card(initial_model) if initial_model else ""
|
| 2339 |
-
card_display = gr.HTML(value=initial_card_html, elem_id="performance-card-html")
|
| 2340 |
|
| 2341 |
gr.HTML("""
|
| 2342 |
</div>
|
|
@@ -3130,13 +3130,14 @@ def create_leaderboard_v2_tab():
|
|
| 3130 |
const pause = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
| 3131 |
await pause(60);
|
| 3132 |
|
| 3133 |
-
const
|
| 3134 |
-
|
|
|
|
| 3135 |
alert('Performance card not found. Please select a model first.');
|
| 3136 |
return;
|
| 3137 |
}
|
| 3138 |
|
| 3139 |
-
const btn = document.getElementById('download-card-btn');
|
| 3140 |
const originalText = btn?.textContent || '';
|
| 3141 |
if (btn) {
|
| 3142 |
btn.textContent = 'Generating...';
|
|
@@ -3156,12 +3157,20 @@ def create_leaderboard_v2_tab():
|
|
| 3156 |
useCORS: true
|
| 3157 |
});
|
| 3158 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3159 |
const link = document.createElement('a');
|
| 3160 |
const modelName = card.querySelector('.card-model-name')?.textContent || 'model';
|
| 3161 |
const timestamp = new Date().toISOString().slice(0, 10);
|
| 3162 |
const fileName = `${modelName.replace(/[^a-z0-9]/gi, '-').toLowerCase()}-performance-${timestamp}.png`;
|
| 3163 |
link.download = fileName;
|
| 3164 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3165 |
document.body.appendChild(link);
|
| 3166 |
link.click();
|
| 3167 |
document.body.removeChild(link);
|
|
|
|
| 2325 |
)
|
| 2326 |
download_card_btn = gr.Button(
|
| 2327 |
"Download as PNG",
|
| 2328 |
+
elem_id="download-card-btn-en",
|
| 2329 |
elem_classes=["pill-button"]
|
| 2330 |
)
|
| 2331 |
|
| 2332 |
gr.HTML("""
|
| 2333 |
+
<div class="performance-card-display" id="card-display-container-en">
|
| 2334 |
""")
|
| 2335 |
|
| 2336 |
# Card display area - generate initial card
|
| 2337 |
initial_model = initial_df['Model'].tolist()[0] if len(initial_df) > 0 else None
|
| 2338 |
initial_card_html = generate_performance_card(initial_model) if initial_model else ""
|
| 2339 |
+
card_display = gr.HTML(value=initial_card_html, elem_id="performance-card-html-en")
|
| 2340 |
|
| 2341 |
gr.HTML("""
|
| 2342 |
</div>
|
|
|
|
| 3130 |
const pause = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
| 3131 |
await pause(60);
|
| 3132 |
|
| 3133 |
+
const container = document.getElementById('performance-card-html-en');
|
| 3134 |
+
const card = container?.querySelector('.performance-card');
|
| 3135 |
+
if (!container || !card) {
|
| 3136 |
alert('Performance card not found. Please select a model first.');
|
| 3137 |
return;
|
| 3138 |
}
|
| 3139 |
|
| 3140 |
+
const btn = document.getElementById('download-card-btn-en');
|
| 3141 |
const originalText = btn?.textContent || '';
|
| 3142 |
if (btn) {
|
| 3143 |
btn.textContent = 'Generating...';
|
|
|
|
| 3157 |
useCORS: true
|
| 3158 |
});
|
| 3159 |
|
| 3160 |
+
if (!canvas || !canvas.width || !canvas.height) {
|
| 3161 |
+
throw new Error('Captured canvas is empty');
|
| 3162 |
+
}
|
| 3163 |
+
|
| 3164 |
const link = document.createElement('a');
|
| 3165 |
const modelName = card.querySelector('.card-model-name')?.textContent || 'model';
|
| 3166 |
const timestamp = new Date().toISOString().slice(0, 10);
|
| 3167 |
const fileName = `${modelName.replace(/[^a-z0-9]/gi, '-').toLowerCase()}-performance-${timestamp}.png`;
|
| 3168 |
link.download = fileName;
|
| 3169 |
+
const dataUrl = canvas.toDataURL('image/png');
|
| 3170 |
+
if (!dataUrl || dataUrl === 'data:,' || dataUrl.length <= 'data:image/png;base64,'.length) {
|
| 3171 |
+
throw new Error('Failed to generate PNG data');
|
| 3172 |
+
}
|
| 3173 |
+
link.href = dataUrl;
|
| 3174 |
document.body.appendChild(link);
|
| 3175 |
link.click();
|
| 3176 |
document.body.removeChild(link);
|