romloader 1.2.5 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/romloader/freeroms_scraper.rb +4 -5
- data/lib/romloader/romloader_cli.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b3d9fc0db1d11a676d64e6d4431dcabd845c9ff
|
4
|
+
data.tar.gz: ae0a2b18b138ac99f97600d0795f3868ce4b0b45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 080d69b853a707d0bb91430758f3b358721c3ef345d48775f3a43ddb20097a11d4c5b557ef328844c04b6ac1bdd05d459a94054a099295538cd23da13c54ee8f
|
7
|
+
data.tar.gz: 33c5c4f58d9df73532ee5977d23641da08b51bf8363c42ce7dfad5e0f1d3cb9ead11433cbffa2a51d88ae2ce15899813f02e038f32be8e107ecd45cc0918304a
|
data/README.md
CHANGED
@@ -27,6 +27,8 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/jinstr
|
|
27
27
|
|
28
28
|
## Version Changes
|
29
29
|
|
30
|
+
v. 1.2.6: Fixed system scraping functions to comply with updates to freeroms.com
|
31
|
+
|
30
32
|
v. 1.2.5: Fixed system scraping functions to comply with updates to freeroms.com
|
31
33
|
|
32
34
|
v. 1.2.4: Fixed bug in regexp checking when entering single characters
|
@@ -1,16 +1,15 @@
|
|
1
|
-
require 'pry'
|
2
1
|
# The class which facilitates scraping freeroms.com. Uses the nokogiri gem to scrape the site
|
3
2
|
class RomLoader::FreeromsScraper
|
4
3
|
|
5
4
|
def self.system_scrape(url)
|
6
|
-
|
5
|
+
@@base_url = url;
|
7
6
|
system_list = Nokogiri::HTML(open(url)).css("ul.desktop-menu > li > a")
|
8
7
|
[].tap do |game_system|
|
9
8
|
system_list.each do |system_info|
|
10
9
|
if system_info.text != "Links" && system_info.text != "Flash Games" && system_info.text != ""
|
11
10
|
system_name = system_info.text
|
12
11
|
begin
|
13
|
-
system_rom_url = system_info.attribute("href").value
|
12
|
+
system_rom_url = "#{@@base_url}#{system_info.attribute("href").value}"
|
14
13
|
rescue NoMethodError
|
15
14
|
|
16
15
|
else
|
@@ -29,7 +28,7 @@ class RomLoader::FreeromsScraper
|
|
29
28
|
[].tap do |rom_list|
|
30
29
|
game_list.each do |game_info|
|
31
30
|
begin
|
32
|
-
download_link = game_info.css("a").attribute("href").value
|
31
|
+
download_link = "#{@@base_url}#{game_info.css("a").attribute("href").value}"
|
33
32
|
rescue NoMethodError
|
34
33
|
|
35
34
|
else
|
@@ -97,7 +96,7 @@ class RomLoader::FreeromsScraper
|
|
97
96
|
rom_letter_list.each do |letter_list|
|
98
97
|
letter = letter_list.text.strip
|
99
98
|
begin
|
100
|
-
letter_hash[letter] = letter_list.attribute("href").value if letter =~ /\A[A-Z#]\Z/
|
99
|
+
letter_hash[letter] = "#{@@base_url}#{letter_list.attribute("href").value}" if letter =~ /\A[A-Z#]\Z/
|
101
100
|
rescue NoMethodError
|
102
101
|
|
103
102
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
class RomLoader::RomLoaderCli
|
3
3
|
|
4
4
|
def initialize
|
5
|
-
RomLoader::GameSystem.create_from_collection(RomLoader::FreeromsScraper.system_scrape("
|
5
|
+
RomLoader::GameSystem.create_from_collection(RomLoader::FreeromsScraper.system_scrape("https://freeroms.com"))
|
6
6
|
raise RomLoader::ScrapingError::NoElementFound.exception("ERROR: Systems index is currently unavailable. Exiting the program.") if RomLoader::GameSystem.all.size == 0
|
7
7
|
end
|
8
8
|
|