akhaliq HF Staff commited on
Commit
3ea1b01
·
1 Parent(s): 98a439f
Files changed (1) hide show
  1. app.py +28 -9
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
- # Handle partial generation - assign what we have
617
- if len(code_blocks) >= 1:
618
- files['src/App.svelte'] = code_blocks[0].strip()
619
- if len(code_blocks) >= 2:
620
- files['src/app.css'] = code_blocks[1].strip()
621
- if len(code_blocks) >= 3:
622
- files['src/lib/Counter.svelte'] = code_blocks[2].strip()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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