Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -274,6 +274,15 @@ def search_arxiv(query):
|
|
| 274 |
st.write(f"Elapsed time: {elapsed_seconds:.2f} seconds")
|
| 275 |
filename = generate_filename(query, "md")
|
| 276 |
create_file(filename, query, results, should_save)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 277 |
return results
|
| 278 |
|
| 279 |
def download_pdfs_and_generate_html(urls):
|
|
@@ -614,6 +623,17 @@ def FileSidebar():
|
|
| 614 |
elif st.session_state.action == 'edit':
|
| 615 |
edit_file(st.session_state.current_file)
|
| 616 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 617 |
def view_file(file):
|
| 618 |
st.header(f"Viewing: {file}")
|
| 619 |
file_extension = os.path.splitext(file)[1].lower()
|
|
@@ -634,7 +654,12 @@ def edit_file(file):
|
|
| 634 |
file_extension = os.path.splitext(file)[1].lower()
|
| 635 |
try:
|
| 636 |
if file_extension == '.pdf':
|
| 637 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 638 |
elif file_extension == '.html':
|
| 639 |
with open(file, 'r', encoding='utf-8') as f:
|
| 640 |
content = f.read()
|
|
@@ -651,7 +676,18 @@ def edit_file(file):
|
|
| 651 |
st.success(f"File updated successfully! New file: {new_file_path}")
|
| 652 |
except Exception as e:
|
| 653 |
st.error(f"Error editing {file}: {str(e)}")
|
| 654 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 655 |
def display_pdf(file_path):
|
| 656 |
try:
|
| 657 |
with open(file_path, "rb") as f:
|
|
|
|
| 274 |
st.write(f"Elapsed time: {elapsed_seconds:.2f} seconds")
|
| 275 |
filename = generate_filename(query, "md")
|
| 276 |
create_file(filename, query, results, should_save)
|
| 277 |
+
|
| 278 |
+
|
| 279 |
+
# After search completes and generates results
|
| 280 |
+
result = "Your search results in Markdown format" # Replace with actual results
|
| 281 |
+
|
| 282 |
+
# Call the function to redraw sidebar and show results
|
| 283 |
+
redraw_sidebar_after_search(result)
|
| 284 |
+
|
| 285 |
+
|
| 286 |
return results
|
| 287 |
|
| 288 |
def download_pdfs_and_generate_html(urls):
|
|
|
|
| 623 |
elif st.session_state.action == 'edit':
|
| 624 |
edit_file(st.session_state.current_file)
|
| 625 |
|
| 626 |
+
# Show the result MD from the search
|
| 627 |
+
if 'search_result' in st.session_state:
|
| 628 |
+
st.markdown("## Search Result")
|
| 629 |
+
st.markdown(st.session_state.search_result)
|
| 630 |
+
|
| 631 |
+
# Function to be called after search completes
|
| 632 |
+
def redraw_sidebar_after_search(search_result):
|
| 633 |
+
st.session_state.search_result = search_result
|
| 634 |
+
st.rerun()
|
| 635 |
+
|
| 636 |
+
|
| 637 |
def view_file(file):
|
| 638 |
st.header(f"Viewing: {file}")
|
| 639 |
file_extension = os.path.splitext(file)[1].lower()
|
|
|
|
| 654 |
file_extension = os.path.splitext(file)[1].lower()
|
| 655 |
try:
|
| 656 |
if file_extension == '.pdf':
|
| 657 |
+
md_content = pdf_to_markdown(file)
|
| 658 |
+
md_file = file.replace('.pdf', '.md')
|
| 659 |
+
new_content = st.text_area("Edit PDF content (as Markdown)", md_content, height=400)
|
| 660 |
+
if st.button("Save as Markdown"):
|
| 661 |
+
new_file_path = update_file_with_timestamp(md_file, new_content)
|
| 662 |
+
st.success(f"File saved as Markdown! New file: {new_file_path}")
|
| 663 |
elif file_extension == '.html':
|
| 664 |
with open(file, 'r', encoding='utf-8') as f:
|
| 665 |
content = f.read()
|
|
|
|
| 676 |
st.success(f"File updated successfully! New file: {new_file_path}")
|
| 677 |
except Exception as e:
|
| 678 |
st.error(f"Error editing {file}: {str(e)}")
|
| 679 |
+
|
| 680 |
+
def pdf_to_markdown(file_path):
|
| 681 |
+
try:
|
| 682 |
+
with open(file_path, "rb") as f:
|
| 683 |
+
pdf_reader = PyPDF2.PdfReader(f)
|
| 684 |
+
markdown_content = ""
|
| 685 |
+
for page in pdf_reader.pages:
|
| 686 |
+
markdown_content += page.extract_text() + "\n\n"
|
| 687 |
+
return markdown_content
|
| 688 |
+
except Exception as e:
|
| 689 |
+
st.error(f"Error converting PDF to Markdown: {str(e)}")
|
| 690 |
+
return ""
|
| 691 |
def display_pdf(file_path):
|
| 692 |
try:
|
| 693 |
with open(file_path, "rb") as f:
|