Files
DuckGoSearch/app.py
T
2026-03-03 16:11:10 +07:00

56 lines
1.4 KiB
Python

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__)
@app.route("/search")
def search():
query = request.args.get("q")
if not query:
return jsonify({"error": "Missing query parameter"}), 400
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(host="0.0.0.0", port=8000)