awacke1 commited on
Commit
32a91b2
·
verified ·
1 Parent(s): e317a82

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -10
app.py CHANGED
@@ -639,29 +639,60 @@ def edit_file(file):
639
  content = f.read()
640
  new_content = st.text_area("Edit HTML content", content, height=400)
641
  if st.button("Save HTML"):
642
- with open(file, 'w', encoding='utf-8') as f:
643
- f.write(new_content)
644
- st.success("File updated successfully!")
645
  else: # For .md and other text files
646
  with open(file, 'r', encoding='utf-8') as f:
647
  content = f.read()
648
  new_content = st.text_area("Edit content", content, height=400)
649
  if st.button("Save"):
650
- with open(file, 'w', encoding='utf-8') as f:
651
- f.write(new_content)
652
- st.success("File updated successfully!")
653
  except Exception as e:
654
  st.error(f"Error editing {file}: {str(e)}")
655
-
656
  def display_pdf(file_path):
657
  try:
658
  with open(file_path, "rb") as f:
659
- base64_pdf = base64.b64encode(f.read()).decode('utf-8')
660
- pdf_display = f'<iframe src="data:application/pdf;base64,{base64_pdf}" width="100%" height="800" type="application/pdf"></iframe>'
661
- st.markdown(pdf_display, unsafe_allow_html=True)
 
 
 
 
 
 
 
 
 
662
  except Exception as e:
663
  st.error(f"Error displaying PDF {file_path}: {str(e)}")
664
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
665
  def display_html(file_path):
666
  try:
667
  with open(file_path, 'r', encoding='utf-8') as f:
 
639
  content = f.read()
640
  new_content = st.text_area("Edit HTML content", content, height=400)
641
  if st.button("Save HTML"):
642
+ new_file_path = update_file_with_timestamp(file, new_content)
643
+ st.success(f"File updated successfully! New file: {new_file_path}")
 
644
  else: # For .md and other text files
645
  with open(file, 'r', encoding='utf-8') as f:
646
  content = f.read()
647
  new_content = st.text_area("Edit content", content, height=400)
648
  if st.button("Save"):
649
+ new_file_path = update_file_with_timestamp(file, new_content)
650
+ st.success(f"File updated successfully! New file: {new_file_path}")
 
651
  except Exception as e:
652
  st.error(f"Error editing {file}: {str(e)}")
653
+
654
  def display_pdf(file_path):
655
  try:
656
  with open(file_path, "rb") as f:
657
+ pdf_reader = PyPDF2.PdfReader(f)
658
+ num_pages = len(pdf_reader.pages)
659
+
660
+ st.write(f"Total Pages: {num_pages}")
661
+
662
+ for page_num in range(num_pages):
663
+ page = pdf_reader.pages[page_num]
664
+ st.subheader(f"Page {page_num + 1}")
665
+ st.write(page.extract_text())
666
+
667
+ if page_num < num_pages - 1:
668
+ st.markdown("---") # Add a separator between pages
669
  except Exception as e:
670
  st.error(f"Error displaying PDF {file_path}: {str(e)}")
671
 
672
+
673
+
674
+ def save_file_with_timestamp(file_path, content, file_type):
675
+ directory, filename = os.path.split(file_path)
676
+ name, ext = os.path.splitext(filename)
677
+ timestamp = datetime.datetime.now().strftime("%m%d_%H%M")
678
+ new_filename = f"{timestamp}_{name}{ext}"
679
+ new_file_path = os.path.join(directory, new_filename)
680
+
681
+ if file_type == 'pdf':
682
+ with open(new_file_path, 'wb') as f:
683
+ f.write(content)
684
+ else: # For HTML and other text files
685
+ with open(new_file_path, 'w', encoding='utf-8') as f:
686
+ f.write(content)
687
+
688
+ return new_file_path
689
+
690
+ def update_file_with_timestamp(file_path, new_content):
691
+ file_type = os.path.splitext(file_path)[1].lower()[1:] # Get file extension without the dot
692
+ new_file_path = save_file_with_timestamp(file_path, new_content, file_type)
693
+ os.remove(file_path) # Remove the old file
694
+ return new_file_path
695
+
696
  def display_html(file_path):
697
  try:
698
  with open(file_path, 'r', encoding='utf-8') as f: