Core.java

- Added a safe handle for if Core#logWriter is not initialized to prevent craching

GetLyrics.java
- Slowly modifying the http headers to avoid package due to catching this as a Scrapper
- Added so we skip extra calls if the song is cached
This commit is contained in:
2025-08-05 00:38:58 +02:00
parent db53028d1e
commit 5886d164b4
2 changed files with 8 additions and 2 deletions

View File

@@ -462,6 +462,10 @@ public class Core {
*/
public static void writeLog(String message)
{
if(logWriter == null) {
System.err.println("!! Log writer is not initialized !!");
return;
}
try {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd%EEEE HH:mm:ss'#'SSS");

View File

@@ -49,7 +49,7 @@ public class GetLyrics extends GeniusEndpointTool {
if(lyricsStr != null)
{
// If we have a cached response, return it
return new OllamaToolRespnce(this.name(), lyricsStr.trim());
}
JSONObject obj = geniusToolsInstance.getGeniusEndpoint("/songs/" + args[0].value(), null);
@@ -57,7 +57,9 @@ public class GetLyrics extends GeniusEndpointTool {
String lyrics_path = obj.getJSONObject("response").getJSONObject("song").getString("url");
try {
Document doc = Jsoup.connect(lyrics_path)
.userAgent("Mozilla/5.0")
.userAgent("insomnia/11.1.0") // TODO: replace with somthing else then insomnia! since we in no way support what ever Insomnia's User-Agent says we do
.header("host", "genius.com")
.header("accept", "*/*")
.get();
writeLog("Fetching lyrics from: " + lyrics_path);