Dama12 commited on
Commit
09087f2
·
1 Parent(s): 0b9c6da

Fix: Add mock fallback for DOAJ API 403 Forbidden error

Browse files
Files changed (1) hide show
  1. app/services/doaj_service.py +15 -1
app/services/doaj_service.py CHANGED
@@ -68,8 +68,22 @@ class DOAJService:
68
  return results
69
  except Exception as e:
70
  logger.error(f"DOAJ search error: {e}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  return []
72
-
73
  def download_paper(self, paper_url: str, paper_id: str) -> str:
74
  """
75
  Downloads a paper from a direct URL.
 
68
  return results
69
  except Exception as e:
70
  logger.error(f"DOAJ search error: {e}")
71
+ if "403" in str(e) or "401" in str(e):
72
+ logger.warning("DOAJ API returned 403 Forbidden. Using mock data for hackathon demo.")
73
+ return [
74
+ {
75
+ "id": f"doaj_mock_{uuid.uuid4().hex[:8]}",
76
+ "title": f"Open Access Analysis on {query}",
77
+ "authors": ["Dr. Open Access", "A. Researcher"],
78
+ "summary": f"This is a mocked DOAJ article discussing {query}. The DOAJ API is currently blocking requests with 403 Forbidden, so this mock data is provided for the hackathon demonstration.",
79
+ "url": "https://doaj.org",
80
+ "has_pdf": False,
81
+ "categories": ["Science", "Open Access"],
82
+ "publication_date": "2024",
83
+ "source": "DOAJ"
84
+ }
85
+ ]
86
  return []
 
87
  def download_paper(self, paper_url: str, paper_id: str) -> str:
88
  """
89
  Downloads a paper from a direct URL.