From 52c9483074823205335367b9631fa711581c0707 Mon Sep 17 00:00:00 2001 From: hu-qi Date: Tue, 2 Sep 2025 16:45:15 +0800 Subject: [PATCH] Fix BooruRipper "URI is not absolute" error for gelbooru #2115 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace problematic URI creation in getGID() method with direct string processing - Fixes "URISyntaxException: URI is not absolute" when processing gelbooru URLs - Maintains compatibility with xbooru which was already working - Improves error logging with more context 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../com/rarchives/ripme/ripper/rippers/BooruRipper.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/rarchives/ripme/ripper/rippers/BooruRipper.java b/src/main/java/com/rarchives/ripme/ripper/rippers/BooruRipper.java index 974a00618..cda7c05ad 100644 --- a/src/main/java/com/rarchives/ripme/ripper/rippers/BooruRipper.java +++ b/src/main/java/com/rarchives/ripme/ripper/rippers/BooruRipper.java @@ -99,9 +99,11 @@ private String getTerm(URL url) throws MalformedURLException { @Override public String getGID(URL url) throws MalformedURLException { try { - return Utils.filesystemSafe(new URI(getTerm(url).replaceAll("&tags=", "")).getPath()); - } catch (URISyntaxException ex) { - logger.error(ex); + // Get the search term and make it filesystem safe + String term = getTerm(url).replaceAll("&tags=", ""); + return Utils.filesystemSafe(term); + } catch (Exception ex) { + logger.error("Error getting GID from URL: " + url, ex); } throw new MalformedURLException("Expected xbooru.com URL format: " + getHost() + ".com/index.php?tags=searchterm - got " + url + " instead");