awacke1 commited on
Commit
20dbf25
Β·
verified Β·
1 Parent(s): 0c1716d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -11
app.py CHANGED
@@ -99,13 +99,13 @@ def SpeechSynthesis(result):
99
  def generate_filename(prompt, file_type, original_name=None):
100
  central = pytz.timezone('US/Central')
101
  safe_date_time = datetime.now(central).strftime("%m%d_%H%M")
 
102
  if original_name and file_type == "md": # For images
103
  base_name = os.path.splitext(original_name)[0]
104
- safe_prompt = re.sub(r'[<>:"/\\|?*\n]', ' ', prompt).strip()[:50]
105
  file_stem = f"{safe_date_time}_{safe_prompt}_{base_name}"[:100] # Cap at 100 chars
106
  return f"{file_stem}.{file_type}"
107
- safe_prompt = re.sub(r'[<>:"/\\|?*\n]', ' ', prompt).strip()[:100] # Cap at 100 chars
108
- return f"{safe_date_time}_{safe_prompt}.{file_type}"
109
 
110
  def create_and_save_file(content, file_type="md", prompt=None, original_name=None, should_save=True):
111
  if not should_save:
@@ -152,7 +152,7 @@ def process_image(image_input, user_prompt):
152
  temperature=0.0
153
  )
154
  image_response = response.choices[0].message.content
155
- filename = generate_filename(user_prompt, "md", original_name)
156
  create_and_save_file(image_response, "md", user_prompt, original_name, should_save=should_save)
157
  return image_response
158
 
@@ -428,10 +428,10 @@ def FileSidebar():
428
  st.sidebar.markdown(get_zip_download_link(zip_file), unsafe_allow_html=True)
429
 
430
  for file in all_files:
431
- ext = os.path.splitext(file)[1]
432
  col1, col2, col3, col4, col5 = st.sidebar.columns([1, 6, 1, 1, 1])
433
  with col1:
434
- icon = "πŸ“œ" if ext == ".md" else "πŸ“„" if ext == ".pdf" else "πŸ–ΌοΈ" if ext == ".png" else "🎡" if ext in [".wav", ".mp3"] else "πŸŽ₯"
435
  if st.button(icon, key=f"view_{file}"):
436
  with open(file, "rb") as f:
437
  content = f.read()
@@ -441,16 +441,30 @@ def FileSidebar():
441
  elif ext == ".pdf":
442
  st.download_button("Download PDF", content, file, "application/pdf")
443
  st.write("PDF Viewer not natively supported; download to view.")
444
- elif ext == ".png":
445
  st.image(content, use_column_width=True)
 
 
 
 
446
  with col2:
447
  st.markdown(get_table_download_link(file), unsafe_allow_html=True)
448
  with col3:
449
  if st.button("πŸ“‚", key=f"open_{file}"):
450
- st.session_state.update({'filename': file, 'filetext': open(file, "r", encoding="utf-8").read()})
 
 
 
 
 
 
 
 
 
451
  with col4:
452
  if st.button("▢️", key=f"run_{file}"):
453
- process_text(open(file, "r", encoding="utf-8").read())
 
454
  with col5:
455
  if st.button("πŸ—‘", key=f"delete_{file}"):
456
  os.remove(file)
@@ -475,8 +489,8 @@ def get_table_download_link(file_path):
475
  data = f.read()
476
  b64 = base64.b64encode(data).decode()
477
  file_name = os.path.basename(file_path)
478
- ext = os.path.splitext(file_name)[1]
479
- mime_type = "text/markdown" if ext == ".md" else "application/pdf" if ext == ".pdf" else "image/png" if ext == ".png" else "audio/wav" if ext == ".wav" else "audio/mpeg" if ext == ".mp3" else "video/mp4" if ext == ".mp4" else "application/octet-stream"
480
  return f'<a href="data:{mime_type};base64,{b64}" download="{file_name}">{file_name}</a>'
481
 
482
  # Main Function
 
99
  def generate_filename(prompt, file_type, original_name=None):
100
  central = pytz.timezone('US/Central')
101
  safe_date_time = datetime.now(central).strftime("%m%d_%H%M")
102
+ safe_prompt = re.sub(r'[<>:"/\\|?*\n]', ' ', prompt).strip()[:50]
103
  if original_name and file_type == "md": # For images
104
  base_name = os.path.splitext(original_name)[0]
 
105
  file_stem = f"{safe_date_time}_{safe_prompt}_{base_name}"[:100] # Cap at 100 chars
106
  return f"{file_stem}.{file_type}"
107
+ file_stem = f"{safe_date_time}_{safe_prompt}"[:100] # Cap at 100 chars
108
+ return f"{file_stem}.{file_type}"
109
 
110
  def create_and_save_file(content, file_type="md", prompt=None, original_name=None, should_save=True):
111
  if not should_save:
 
152
  temperature=0.0
153
  )
154
  image_response = response.choices[0].message.content
155
+ filename = generate_filename(user_prompt, "md", original_name) # Include prompt in filename
156
  create_and_save_file(image_response, "md", user_prompt, original_name, should_save=should_save)
157
  return image_response
158
 
 
428
  st.sidebar.markdown(get_zip_download_link(zip_file), unsafe_allow_html=True)
429
 
430
  for file in all_files:
431
+ ext = os.path.splitext(file)[1].lower()
432
  col1, col2, col3, col4, col5 = st.sidebar.columns([1, 6, 1, 1, 1])
433
  with col1:
434
+ icon = "πŸ“œ" if ext == ".md" else "πŸ“„" if ext == ".pdf" else "πŸ–ΌοΈ" if ext in [".png", ".jpg", ".jpeg"] else "🎡" if ext in [".wav", ".mp3"] else "πŸŽ₯" if ext == ".mp4" else "πŸ“Ž"
435
  if st.button(icon, key=f"view_{file}"):
436
  with open(file, "rb") as f:
437
  content = f.read()
 
441
  elif ext == ".pdf":
442
  st.download_button("Download PDF", content, file, "application/pdf")
443
  st.write("PDF Viewer not natively supported; download to view.")
444
+ elif ext in [".png", ".jpg", ".jpeg"]:
445
  st.image(content, use_column_width=True)
446
+ elif ext in [".wav", ".mp3"]:
447
+ st.audio(content)
448
+ elif ext == ".mp4":
449
+ st.video(content)
450
  with col2:
451
  st.markdown(get_table_download_link(file), unsafe_allow_html=True)
452
  with col3:
453
  if st.button("πŸ“‚", key=f"open_{file}"):
454
+ with open(file, "rb") as f:
455
+ content = f.read()
456
+ if ext in [".md", ".pdf"]:
457
+ st.text_area(f"Editing {file}", value=content.decode("utf-8"), height=300, key=f"edit_{file}")
458
+ elif ext in [".png", ".jpg", ".jpeg"]:
459
+ st.image(content, use_column_width=True, caption=f"Viewing {file}")
460
+ elif ext in [".wav", ".mp3"]:
461
+ st.audio(content, format=f"audio/{ext[1:]}")
462
+ elif ext == ".mp4":
463
+ st.video(content, format="video/mp4")
464
  with col4:
465
  if st.button("▢️", key=f"run_{file}"):
466
+ if ext == ".md":
467
+ process_text(open(file, "r", encoding="utf-8").read())
468
  with col5:
469
  if st.button("πŸ—‘", key=f"delete_{file}"):
470
  os.remove(file)
 
489
  data = f.read()
490
  b64 = base64.b64encode(data).decode()
491
  file_name = os.path.basename(file_path)
492
+ ext = os.path.splitext(file_name)[1].lower()
493
+ mime_type = "text/markdown" if ext == ".md" else "application/pdf" if ext == ".pdf" else "image/png" if ext in [".png", ".jpg", ".jpeg"] else "audio/wav" if ext == ".wav" else "audio/mpeg" if ext == ".mp3" else "video/mp4" if ext == ".mp4" else "application/octet-stream"
494
  return f'<a href="data:{mime_type};base64,{b64}" download="{file_name}">{file_name}</a>'
495
 
496
  # Main Function