MINEOGO commited on
Commit
71765cf
·
verified ·
1 Parent(s): 283c557

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -11
app.py CHANGED
@@ -92,10 +92,9 @@ Start generating the files now.
92
  if token:
93
  full_raw_response += token
94
  yield {
95
- live_output: gr.update(value=full_raw_response),
96
  }
97
  except Exception as e:
98
- print(f"Error during AI streaming: {e}")
99
  error_message = f"Error during AI generation: {e}\n\nPartial Response (if any):\n{full_raw_response}"
100
  error_occurred = True
101
  yield {
@@ -104,16 +103,19 @@ Start generating the files now.
104
  }
105
  if error_occurred:
106
  final_tabs_update = gr.Tabs(tabs=[
107
- gr.TabItem(label="Error", children=[gr.Textbox(value=error_message, label="Generation Error", lines=10)])
108
  ])
109
  else:
110
  files = parse_files(full_raw_response)
111
  if not files:
112
  no_files_msg = "AI finished, but did not return recognizable file content or the response was empty. See raw output above."
113
  final_tabs_update = gr.Tabs(tabs=[
114
- gr.TabItem(label="Output", children=[gr.Textbox(value=no_files_msg, label="Result")])
115
  ])
116
- yield { live_output: gr.update(value=full_raw_response + "\n\n" + no_files_msg), final_tabs: final_tabs_update }
 
 
 
117
  return
118
  tabs_content = []
119
  for name, content in files:
@@ -138,17 +140,16 @@ Start generating the files now.
138
  lang = "bash"
139
  elif name.endswith((".xml", ".xaml", ".svg")):
140
  lang = "xml"
141
- elif name.endswith(".yaml") or name.endswith(".yml"):
142
  lang = "yaml"
143
  elem_id = f"tab_{re.sub(r'[^a-zA-Z0-9_-]', '_', name)}"
144
  tab_item = gr.TabItem(label=name, elem_id=elem_id, children=[
145
  gr.Code(value=content, language=lang, label=name, interactive=False)
146
  ])
147
  tabs_content.append(tab_item)
148
- if not tabs_content:
149
- final_tabs_update = gr.Tabs(tabs=[gr.TabItem(label="Output", children=[gr.Textbox(value="No valid files generated after filtering.", label="Result")])])
150
- else:
151
- final_tabs_update = gr.Tabs(tabs=tabs_content)
152
  yield {
153
  live_output: gr.update(value=full_raw_response if not error_occurred else error_message),
154
  final_tabs: final_tabs_update
@@ -169,7 +170,7 @@ with gr.Blocks(css=".gradio-container { max-width: 95% !important; }") as demo:
169
  generate_button = gr.Button("✨ Generate Code ✨", variant="primary")
170
  with gr.Column(scale=3):
171
  gr.Markdown("#### Live Raw Output Stream")
172
- live_output = gr.Code(label="Raw AI Stream", language="text", lines=20, interactive=False)
173
  gr.Markdown("---")
174
  gr.Markdown("#### Final Generated Files (Tabs)")
175
  final_tabs = gr.Tabs(elem_id="output_tabs")
 
92
  if token:
93
  full_raw_response += token
94
  yield {
95
+ live_output: gr.update(value=full_raw_response)
96
  }
97
  except Exception as e:
 
98
  error_message = f"Error during AI generation: {e}\n\nPartial Response (if any):\n{full_raw_response}"
99
  error_occurred = True
100
  yield {
 
103
  }
104
  if error_occurred:
105
  final_tabs_update = gr.Tabs(tabs=[
106
+ gr.TabItem(label="Error", children=[gr.Textbox(value=error_message, lines=10)])
107
  ])
108
  else:
109
  files = parse_files(full_raw_response)
110
  if not files:
111
  no_files_msg = "AI finished, but did not return recognizable file content or the response was empty. See raw output above."
112
  final_tabs_update = gr.Tabs(tabs=[
113
+ gr.TabItem(label="Output", children=[gr.Textbox(value=no_files_msg)])
114
  ])
115
+ yield {
116
+ live_output: gr.update(value=full_raw_response + "\n\n" + no_files_msg),
117
+ final_tabs: final_tabs_update
118
+ }
119
  return
120
  tabs_content = []
121
  for name, content in files:
 
140
  lang = "bash"
141
  elif name.endswith((".xml", ".xaml", ".svg")):
142
  lang = "xml"
143
+ elif name.endswith((".yaml", ".yml")):
144
  lang = "yaml"
145
  elem_id = f"tab_{re.sub(r'[^a-zA-Z0-9_-]', '_', name)}"
146
  tab_item = gr.TabItem(label=name, elem_id=elem_id, children=[
147
  gr.Code(value=content, language=lang, label=name, interactive=False)
148
  ])
149
  tabs_content.append(tab_item)
150
+ final_tabs_update = gr.Tabs(tabs=tabs_content) if tabs_content else gr.Tabs(tabs=[
151
+ gr.TabItem(label="Output", children=[gr.Textbox(value="No valid files generated after filtering.")])
152
+ ])
 
153
  yield {
154
  live_output: gr.update(value=full_raw_response if not error_occurred else error_message),
155
  final_tabs: final_tabs_update
 
170
  generate_button = gr.Button("✨ Generate Code ✨", variant="primary")
171
  with gr.Column(scale=3):
172
  gr.Markdown("#### Live Raw Output Stream")
173
+ live_output = gr.Textbox(label="Raw AI Stream", lines=20, interactive=False)
174
  gr.Markdown("---")
175
  gr.Markdown("#### Final Generated Files (Tabs)")
176
  final_tabs = gr.Tabs(elem_id="output_tabs")