IAMTFRMZA commited on
Commit
ab19d74
·
verified ·
1 Parent(s): 53b56c5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -6
app.py CHANGED
@@ -192,21 +192,32 @@ with tab2:
192
  time.sleep(1)
193
  messages = client.beta.threads.messages.list(thread_id=image_thread.id)
194
  assistant_message = messages.data[0].content[0].text.value
 
 
195
  cleaned_message = re.sub(r'\*\*(.*?)\*\*', r'<strong>\1</strong>', assistant_message)
196
  cleaned_message = cleaned_message.replace("###", "<h4 style='margin-bottom: 10px;'>").replace("\n", "<br>")
197
- if '|' in cleaned_message:
 
 
198
  lines = cleaned_message.split('<br>')
199
  html_table = "<table class='spec-table'>"
 
200
  for line in lines:
201
  if '|' in line and '---' not in line and 'Year' not in line and 'Mileage' not in line:
202
  cells = line.strip('|').split('|')
203
- row_html = '<tr>' + ''.join(f'<td>{cell.strip()}</td>' for cell in cells) + '</tr>'
204
- html_table += row_html
 
 
 
 
205
  elif '|' not in line:
206
- html_table += f"</table><p>{line}</p><table class='spec-table'>"
207
  html_table += "</table>"
208
- cleaned_message = html_table
 
209
  st.success("✅ Identification Complete")
210
  st.markdown(f"<div class='car-spec-output'>{cleaned_message}</div>", unsafe_allow_html=True)
 
211
  except Exception as e:
212
- st.error(f"❌ Error during image analysis: {str(e)}")
 
192
  time.sleep(1)
193
  messages = client.beta.threads.messages.list(thread_id=image_thread.id)
194
  assistant_message = messages.data[0].content[0].text.value
195
+
196
+ # Clean base message
197
  cleaned_message = re.sub(r'\*\*(.*?)\*\*', r'<strong>\1</strong>', assistant_message)
198
  cleaned_message = cleaned_message.replace("###", "<h4 style='margin-bottom: 10px;'>").replace("\n", "<br>")
199
+
200
+ # Table builder (only if valid Markdown table found)
201
+ if '|' in cleaned_message and cleaned_message.count('|') > 2:
202
  lines = cleaned_message.split('<br>')
203
  html_table = "<table class='spec-table'>"
204
+ has_table = False
205
  for line in lines:
206
  if '|' in line and '---' not in line and 'Year' not in line and 'Mileage' not in line:
207
  cells = line.strip('|').split('|')
208
+ if len(cells) >= 2:
209
+ has_table = True
210
+ row_html = '<tr>' + ''.join(f'<td>{cell.strip()}</td>' for cell in cells) + '</tr>'
211
+ html_table += row_html
212
+ elif '|' not in line and has_table:
213
+ html_table += "</table><p>" + line + "</p><table class='spec-table'>"
214
  elif '|' not in line:
215
+ html_table += f"<p>{line}</p>"
216
  html_table += "</table>"
217
+ cleaned_message = html_table if has_table else cleaned_message
218
+
219
  st.success("✅ Identification Complete")
220
  st.markdown(f"<div class='car-spec-output'>{cleaned_message}</div>", unsafe_allow_html=True)
221
+
222
  except Exception as e:
223
+ st.error(f"❌ Error during image analysis: {str(e)}")