|
from extract_text import extract_text_from_pdf |
|
from math_summarizer import generate_math_summary |
|
from nlp_processes import generate_nlp_summary_and_mindmap |
|
import json |
|
import dotenv |
|
import time |
|
import os |
|
|
|
dotenv.load_dotenv() |
|
ACCESS_KEY = os.getenv("ACCESS_KEY") |
|
|
|
def generate_summary_mindmap(corpus): |
|
response = {} |
|
math_summary = generate_math_summary(corpus) |
|
|
|
|
|
if not math_summary: |
|
print("Error generating Math Summary") |
|
response["summary_status"] = "error" |
|
response["summary"] = None |
|
response["mindmap_status"] = "error" |
|
response["mindmap"] = None |
|
return response |
|
else: |
|
response = generate_nlp_summary_and_mindmap(math_summary) |
|
return response |
|
|
|
def main(url, id, access_key): |
|
if access_key != ACCESS_KEY: |
|
return {"error": "Invalid Access Key", "summary": None, "mindmap": None} |
|
else: |
|
corpus = extract_text_from_pdf(url, id) |
|
start_time = time.time() |
|
response = generate_summary_mindmap(corpus) |
|
print(f"Total timetaken: {time.time() - start_time} seconds") |
|
return json.dumps(response, indent=4, ensure_ascii=False) |
|
|
|
if __name__ == "__main__": |
|
url = "https://arxiv.org/pdf/2412.21024" |
|
id = "123" |
|
access_key = os.environ.get("ACCESS_KEY") |
|
data = main(url, id, access_key) |
|
print((data)) |
|
with open("output.json", "w", encoding="utf-8") as f: |
|
json.dump(data, f, ensure_ascii=False, indent=4) |