From 31ca6d46856350339fc8991c6eda08d9a872c357 Mon Sep 17 00:00:00 2001 From: ClasherKasten Date: Fri, 21 Feb 2025 20:30:53 +0100 Subject: [PATCH] Fix multiple version checks of scrapers. - Docker - Meteor - Nix - PHPUnit - Redis - Sass - Trio --- lib/docs/scrapers/docker.rb | 2 +- lib/docs/scrapers/meteor.rb | 3 +-- lib/docs/scrapers/nix.rb | 4 +--- lib/docs/scrapers/phpunit.rb | 4 ++-- lib/docs/scrapers/redis.rb | 3 +-- lib/docs/scrapers/sass.rb | 4 ++-- lib/docs/scrapers/trio.rb | 2 +- 7 files changed, 9 insertions(+), 13 deletions(-) diff --git a/lib/docs/scrapers/docker.rb b/lib/docs/scrapers/docker.rb index 070796ae..bfc420a3 100644 --- a/lib/docs/scrapers/docker.rb +++ b/lib/docs/scrapers/docker.rb @@ -96,7 +96,7 @@ module Docs def get_latest_version(opts) doc = fetch_doc('https://docs.docker.com/engine/release-notes/', opts) - latest_version = doc.at_css('.DocSearch-content > h2 > a').content.strip + latest_version = doc.at_css('h2.scroll-mt-20 > a').content.strip latest_version.rpartition(' ')[-1] end end diff --git a/lib/docs/scrapers/meteor.rb b/lib/docs/scrapers/meteor.rb index a758d154..04cb929e 100644 --- a/lib/docs/scrapers/meteor.rb +++ b/lib/docs/scrapers/meteor.rb @@ -47,8 +47,7 @@ module Docs end def get_latest_version(opts) - doc = fetch_doc('https://docs.meteor.com/#/full/', opts) - doc.at_css('select.version-select > option').content + get_npm_version('meteor', opts) end end end diff --git a/lib/docs/scrapers/nix.rb b/lib/docs/scrapers/nix.rb index 5be27ffa..b2ee5c87 100644 --- a/lib/docs/scrapers/nix.rb +++ b/lib/docs/scrapers/nix.rb @@ -23,9 +23,7 @@ module Docs def get_latest_version(opts) doc = fetch_doc('https://nixos.org/manual/nix/stable/', opts) - json = JSON.parse(doc.at_css('body')['data-nix-channels']) - channel = json.find { |c| c['channel'] == 'stable' } - channel['version'] + doc.at_css('a.active')['href'].scan(/([0-9.]+)/)[0][0] end end end diff --git a/lib/docs/scrapers/phpunit.rb b/lib/docs/scrapers/phpunit.rb index 7bd1c603..dcd1c5f1 100644 --- a/lib/docs/scrapers/phpunit.rb +++ b/lib/docs/scrapers/phpunit.rb @@ -77,8 +77,8 @@ module Docs def get_latest_version(opts) doc = fetch_doc('https://phpunit.readthedocs.io/', opts) - label = doc.at_css('.rst-current-version').content.strip - label.scan(/v: ([0-9.]+)/)[0][0] + label = doc.at_css('meta[name="readthedocs-version-slug"]')["content"] + label end end diff --git a/lib/docs/scrapers/redis.rb b/lib/docs/scrapers/redis.rb index d4c62b42..9c8e03b1 100644 --- a/lib/docs/scrapers/redis.rb +++ b/lib/docs/scrapers/redis.rb @@ -22,8 +22,7 @@ module Docs def get_latest_version(opts) body = fetch('http://download.redis.io/redis-stable/00-RELEASENOTES', opts) - body = body.lines[1..-1].join - body.scan(/Redis ([0-9.]+)/)[0][0] + body.scan(/Redis Community Edition ([0-9.]+)/)[0][0] end private diff --git a/lib/docs/scrapers/sass.rb b/lib/docs/scrapers/sass.rb index d7b5954a..aaa7a5ad 100644 --- a/lib/docs/scrapers/sass.rb +++ b/lib/docs/scrapers/sass.rb @@ -20,13 +20,13 @@ module Docs © 2006–2024 the Sass team, and numerous contributors
Licensed under the MIT License. HTML - - private def get_latest_version(opts) get_npm_version('sass', opts) end + private + def parse(response) response.body.gsub! ' ', ' ' end diff --git a/lib/docs/scrapers/trio.rb b/lib/docs/scrapers/trio.rb index 141a408e..e502fe72 100644 --- a/lib/docs/scrapers/trio.rb +++ b/lib/docs/scrapers/trio.rb @@ -25,7 +25,7 @@ module Docs def get_latest_version(opts) doc = fetch_doc('https://trio.readthedocs.io/en/stable/', opts) - doc.at_css('.rst-other-versions a[href^="/en/v"]').content[1..-1] + doc.at_css('div.trio-version').content[0..-1] end end end