Spaces:
Running
Running
update
Browse files
app.py
CHANGED
|
@@ -609,17 +609,36 @@ def parse_svelte_output(text):
|
|
| 609 |
'src/lib/Counter.svelte': ''
|
| 610 |
}
|
| 611 |
|
| 612 |
-
# Split by code blocks
|
| 613 |
import re
|
| 614 |
-
code_blocks = re.findall(r'```(?:svelte|css)\n(.*?)```', text, re.DOTALL)
|
| 615 |
|
| 616 |
-
#
|
| 617 |
-
|
| 618 |
-
|
| 619 |
-
|
| 620 |
-
|
| 621 |
-
|
| 622 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 623 |
|
| 624 |
return files
|
| 625 |
|
|
|
|
| 609 |
'src/lib/Counter.svelte': ''
|
| 610 |
}
|
| 611 |
|
|
|
|
| 612 |
import re
|
|
|
|
| 613 |
|
| 614 |
+
# First try to extract using code block patterns
|
| 615 |
+
svelte_pattern = r'```svelte\s*\n([\s\S]+?)\n```'
|
| 616 |
+
css_pattern = r'```css\s*\n([\s\S]+?)\n```'
|
| 617 |
+
|
| 618 |
+
# Extract first svelte block for App.svelte
|
| 619 |
+
svelte_matches = re.findall(svelte_pattern, text, re.IGNORECASE)
|
| 620 |
+
css_match = re.search(css_pattern, text, re.IGNORECASE)
|
| 621 |
+
|
| 622 |
+
if len(svelte_matches) >= 1:
|
| 623 |
+
files['src/App.svelte'] = svelte_matches[0].strip()
|
| 624 |
+
if css_match:
|
| 625 |
+
files['src/app.css'] = css_match.group(1).strip()
|
| 626 |
+
if len(svelte_matches) >= 2:
|
| 627 |
+
files['src/lib/Counter.svelte'] = svelte_matches[1].strip()
|
| 628 |
+
|
| 629 |
+
# Fallback: support === filename === format if any file is missing
|
| 630 |
+
if not (files['src/App.svelte'] and files['src/app.css']):
|
| 631 |
+
# Use regex to extract sections
|
| 632 |
+
app_svelte_fallback = re.search(r'===\s*src/App\.svelte\s*===\n([\s\S]+?)(?=\n===|$)', text, re.IGNORECASE)
|
| 633 |
+
app_css_fallback = re.search(r'===\s*src/app\.css\s*===\n([\s\S]+?)(?=\n===|$)', text, re.IGNORECASE)
|
| 634 |
+
counter_svelte_fallback = re.search(r'===\s*src/lib/Counter\.svelte\s*===\n([\s\S]+?)(?=\n===|$)', text, re.IGNORECASE)
|
| 635 |
+
|
| 636 |
+
if app_svelte_fallback:
|
| 637 |
+
files['src/App.svelte'] = app_svelte_fallback.group(1).strip()
|
| 638 |
+
if app_css_fallback:
|
| 639 |
+
files['src/app.css'] = app_css_fallback.group(1).strip()
|
| 640 |
+
if counter_svelte_fallback:
|
| 641 |
+
files['src/lib/Counter.svelte'] = counter_svelte_fallback.group(1).strip()
|
| 642 |
|
| 643 |
return files
|
| 644 |
|