ScientryBackend / main.py
raannakasturi's picture
Enhance error handling and debugging in blog posting functionality; remove unused print statements and update access key handling
4b0577b
raw
history blame
2.22 kB
import json
import os
import dotenv
from email.mime.base import MIMEBase
from email import encoders
import sib_api_v3_sdk
from sib_api_v3_sdk.rest import ApiException
from summarize_paper import summarize_paper
from fetch_data import fetch_paper_data_with_category
from post_blog import post_blog
# Load environment variables
dotenv.load_dotenv()
summarizer_api_key = os.getenv("SUMMARIZER_API_KEY")
mail_api = os.getenv("MAIL_API")
access_key = os.getenv("ACCESS_KEY")
def paper_data(paper_data):
data = {"status": "success"}
data['data'] = {}
paper_data = json.loads(paper_data)
for category, papers in paper_data.items():
print(f"Processing category: {category}")
data['data'][category] = {}
for paper_id, details in papers.items():
doi = details.get("doi")
pdf_url = details.get("pdf_url")
title = details.get("title")
citation = details.get("citation")
if not all([paper_id, doi, pdf_url, title, citation]):
print(f"Skipping paper with ID: {paper_id} (missing details)")
continue
summary, mindmap = summarize_paper(pdf_url, paper_id, summarizer_api_key)
post_blog(title, category, summary, mindmap, citation, access_key)
data['data'][category][paper_id] = {
"id": paper_id,
"doi": doi,
"title": title,
"category": category,
"citation": citation,
"summary": summary,
"mindmap": mindmap,
}
break
output_file = "paper_data_with_summary.json"
data = json.dumps(data, indent=4, ensure_ascii=False)
with open(output_file, "w", encoding="utf-8") as file:
json.dump(data, file, indent=4)
print(f"Processed data saved to {output_file}")
return data
def post_blogpost(uaccess_key):
if uaccess_key != access_key:
return False
data = fetch_paper_data_with_category(uaccess_key)
pdata = paper_data(data)
return pdata