add-api-extract-pdf-content
This commit is contained in:
1 parent
4e3358fb1c
commit
ef8f0afa64
7 files changed
+176
-1
No files matched your search
@@ -2,6 +2,8 @@ from flask import Flask, request, jsonify
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
from DuckDuckGo import search_duckduckgo
|
||||
from PdfExtract import process_pdf, process_uploaded_pdf
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
|
||||
@@ -14,6 +16,41 @@ def search():
|
||||
results = search_duckduckgo(query)
|
||||
return jsonify(results)
|
||||
|
||||
# ================= API 1: Extract from URL =================
|
||||
@app.route("/extract", methods=["POST"])
|
||||
def extract():
|
||||
try:
|
||||
data = request.get_json()
|
||||
if not data or "url" not in data:
|
||||
return jsonify({"error": "Missing URL"}), 400
|
||||
|
||||
result = process_pdf(data["url"])
|
||||
return jsonify(result)
|
||||
|
||||
except Exception as e:
|
||||
return jsonify({"error": str(e)}), 400
|
||||
|
||||
|
||||
# ================= API 2: Upload file =================
|
||||
@app.route("/upload", methods=["POST"])
|
||||
def upload():
|
||||
try:
|
||||
if "file" not in request.files:
|
||||
return jsonify({"error": "No file field"}), 400
|
||||
|
||||
file = request.files["file"]
|
||||
|
||||
if file.filename == "":
|
||||
return jsonify({"error": "No selected file"}), 400
|
||||
|
||||
file_bytes = file.read()
|
||||
|
||||
result = process_uploaded_pdf(file_bytes)
|
||||
return jsonify(result)
|
||||
|
||||
except Exception as e:
|
||||
return jsonify({"error": str(e)}), 400
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app.run(debug=True)
|
||||
app.run(host="0.0.0.0", port=8000)
|
||||
Reference in new issue
Block a user