From 12175e6965c727513adb8ae86558a10515636c09 Mon Sep 17 00:00:00 2001 From: SqrtMinusOne Date: Sat, 14 Aug 2021 11:13:26 +0300 Subject: [PATCH] fix: add fallback DOM queries for lyrics-fetcher-genius --- lyrics-fetcher-genius.el | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/lyrics-fetcher-genius.el b/lyrics-fetcher-genius.el index 97b2005..fae93fe 100644 --- a/lyrics-fetcher-genius.el +++ b/lyrics-fetcher-genius.el @@ -236,14 +236,19 @@ If SYNC is non-nil, the request will be performed synchronously." (let* ((html (with-temp-buffer (insert data) (libxml-parse-html-region (point-min) (point-max)))) - (lyrics-div (dom-by-class html (rx bos "lyrics" eos)))) - (with-temp-buffer - (lyrics-fetcher-genius--dom-print lyrics-div) - (shr-render-region (point-min) (point-max)) - (funcall callback - (buffer-substring-no-properties - (point-min) - (point-max))))))) + (lyrics-divs (or (dom-by-class html (rx bos "lyrics" eos)) + (dom-by-class html (rx bos "Lyrics__Container" (* nonl)))))) + (funcall callback + (mapconcat + (lambda (lyrics-div) + (with-temp-buffer + (lyrics-fetcher-genius--dom-print lyrics-div) + (shr-render-region (point-min) (point-max)) + (buffer-substring-no-properties + (point-min) + (point-max)))) + lyrics-divs + "\n"))))) :error (cl-function (lambda (&key error-thrown &allow-other-keys)