awacke1 commited on
Commit
0d7d701
Β·
verified Β·
1 Parent(s): 8674fea

Update back.branched.PDFAddedRAG.03282025.app.py

Browse files
back.branched.PDFAddedRAG.03282025.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,34 +428,56 @@ 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()
438
  if ext == ".md":
439
- st.markdown(content.decode("utf-8"))
440
- SpeechSynthesis(content.decode("utf-8"))
 
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)
457
  st.rerun()
458
-
 
 
 
459
  def create_zip_of_files(files):
460
  zip_name = "Files.zip"
461
  with zipfile.ZipFile(zip_name, 'w') as zipf:
@@ -475,8 +497,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
+ colFollowUp=""
434
  with col1:
435
+ 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 "πŸ“Ž"
436
  if st.button(icon, key=f"view_{file}"):
437
  with open(file, "rb") as f:
438
  content = f.read()
439
  if ext == ".md":
440
+ colFollowUp=ext
441
+ #st.markdown(content.decode("utf-8"))
442
+ #SpeechSynthesis(content.decode("utf-8"))
443
  elif ext == ".pdf":
444
  st.download_button("Download PDF", content, file, "application/pdf")
445
  st.write("PDF Viewer not natively supported; download to view.")
446
+ elif ext in [".png", ".jpg", ".jpeg"]:
447
  st.image(content, use_column_width=True)
448
+ elif ext in [".wav", ".mp3"]:
449
+ st.audio(content)
450
+ elif ext == ".mp4":
451
+ st.video(content)
452
  with col2:
453
  st.markdown(get_table_download_link(file), unsafe_allow_html=True)
454
  with col3:
455
  if st.button("πŸ“‚", key=f"open_{file}"):
456
+ with open(file, "rb") as f:
457
+ content = f.read()
458
+ if ext == ".md":
459
+ st.text_area(f"Editing {file}", value=content.decode("utf-8"), height=300, key=f"edit_{file}")
460
+ elif ext == ".pdf":
461
+ st.download_button("Download PDF to Edit", content, file, "application/pdf")
462
+ st.write("PDF editing not supported in-app; download to edit externally.")
463
+ elif ext in [".png", ".jpg", ".jpeg"]:
464
+ st.image(content, use_column_width=True, caption=f"Viewing {file}")
465
+ elif ext in [".wav", ".mp3"]:
466
+ st.audio(content, format=f"audio/{ext[1:]}")
467
+ elif ext == ".mp4":
468
+ st.video(content, format="video/mp4")
469
  with col4:
470
  if st.button("▢️", key=f"run_{file}"):
471
+ if ext == ".md":
472
+ process_text(open(file, "r", encoding="utf-8").read())
473
  with col5:
474
  if st.button("πŸ—‘", key=f"delete_{file}"):
475
  os.remove(file)
476
  st.rerun()
477
+ if colFollowUp == ".md":
478
+ colFollowUp=ext
479
+ st.markdown(content.decode("utf-8"))
480
+ SpeechSynthesis(content.decode("utf-8"))
481
  def create_zip_of_files(files):
482
  zip_name = "Files.zip"
483
  with zipfile.ZipFile(zip_name, 'w') as zipf:
 
497
  data = f.read()
498
  b64 = base64.b64encode(data).decode()
499
  file_name = os.path.basename(file_path)
500
+ ext = os.path.splitext(file_name)[1].lower()
501
+ 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"
502
  return f'<a href="data:{mime_type};base64,{b64}" download="{file_name}">{file_name}</a>'
503
 
504
  # Main Function