From d87bac94b5290fb49ba97e97d805caa3a93ef569 Mon Sep 17 00:00:00 2001 From: lolcat Date: Sun, 14 Jun 2026 16:01:56 -0400 Subject: [PATCH] handle marginalia internal error --- scraper/marginalia.php | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/scraper/marginalia.php b/scraper/marginalia.php index f5be5e1..90b7f4c 100644 --- a/scraper/marginalia.php +++ b/scraper/marginalia.php @@ -490,6 +490,37 @@ class marginalia{ return $this->web($get, $redirect); } + // detect internal error + $infobox = + $this->fuckhtml + ->getElementsByClassName("infobox"); + + if(count($infobox) !== 0){ + + foreach($infobox as $i){ + + $this->fuckhtml->load($i); + + $h2 = + $this->fuckhtml + ->getElementsByTagName("h2"); + + if( + count($h2) !== 0 && + $this->fuckhtml + ->getTextContent( + $h2[0] + ) == "Internal error" + ){ + + throw new Exception("Marginalia returned an internal server error"); + } + } + + // reset + $this->fuckhtml->load($html); + } + $sections = $this->fuckhtml ->getElementsByClassName(