Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -8,7 +8,7 @@ import requests
|
|
8 |
from typing import List, Dict, Union
|
9 |
import pandas as pd
|
10 |
import wikipediaapi
|
11 |
-
import
|
12 |
from docx import Document
|
13 |
|
14 |
load_dotenv()
|
@@ -72,26 +72,24 @@ class BasicAgent:
|
|
72 |
page = self.wiki.page(query)
|
73 |
return page.summary if page.exists() else "No Wikipedia page found"
|
74 |
|
75 |
-
def
|
76 |
-
"""
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
try:
|
82 |
-
#
|
83 |
-
from pypdf import PdfReader
|
84 |
-
except ImportError:
|
85 |
-
# Fallback to PyPDF2
|
86 |
from PyPDF2 import PdfReader
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
|
|
95 |
|
96 |
|
97 |
def __call__(self, query: str) -> str:
|
|
|
8 |
from typing import List, Dict, Union
|
9 |
import pandas as pd
|
10 |
import wikipediaapi
|
11 |
+
from pypdf import PdfReader
|
12 |
from docx import Document
|
13 |
|
14 |
load_dotenv()
|
|
|
72 |
page = self.wiki.page(query)
|
73 |
return page.summary if page.exists() else "No Wikipedia page found"
|
74 |
|
75 |
+
def extract_pdf_text(file_path: str) -> str:
|
76 |
+
"""Works with both pypdf and PyPDF2."""
|
77 |
+
try:
|
78 |
+
# Prefer 'pypdf' (newer)
|
79 |
+
from pypdf import PdfReader
|
80 |
+
except ImportError:
|
81 |
try:
|
82 |
+
# Fallback to 'PyPDF2'
|
|
|
|
|
|
|
83 |
from PyPDF2 import PdfReader
|
84 |
+
except ImportError:
|
85 |
+
return "Error: Install 'pypdf' or 'PyPDF2' first (pip install pypdf)."
|
86 |
+
|
87 |
+
try:
|
88 |
+
with open(file_path, 'rb') as f:
|
89 |
+
reader = PdfReader(f)
|
90 |
+
return "\n".join(page.extract_text() for page in reader.pages)
|
91 |
+
except Exception as e:
|
92 |
+
return f"Failed to read PDF: {str(e)}"
|
93 |
|
94 |
|
95 |
def __call__(self, query: str) -> str:
|