romloader 1.2.5 → 1.2.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|