wallhaven 1.0.1 → 1.0.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c68b3722f1c2d7c3c95992ebad672eabfba80eebe8d338795cf33ea250a8dfc
4
- data.tar.gz: ea71bc863a77e1e2392bad2668ebfc2ca5e42608bf62788933131597cd8fa504
3
+ metadata.gz: 82b0530da97ec22ed460d0ed000a2f4878f393114e36c584ffe705a9a095346c
4
+ data.tar.gz: c436031a05917af89857be8f75a3201c3f8a4397ef533d7e6722dd002d943a88
5
5
  SHA512:
6
- metadata.gz: 4a6a5135ff45dbc625ef08bc8a79e82fc911995be474b5617539550004f00e21c5dd070d3528bf37b71c29fe76ddb36d273a4add5860745506b29876423bc116
7
- data.tar.gz: 24fb96f63c3542e0977c535e20c131ea2516fb32ceef9cef5c3d24a389347ae5f5aff878e4bf6af87d477764cde0830f90faab5544f99ec4afad9411a03ac5e8
6
+ metadata.gz: 179be20d99ebf1e89a7a28b3d2854aef259e224bbdc85a9dbbf6e18b48fe2592b71a5c0c83d2a35487c17e1c32de1806a7ebc31d5b30691d2edec025d8fae1d7
7
+ data.tar.gz: cfcbbddf96717ebcad6ea5d008e9b7da7375929eafabcc210aad102510d1ac87c2738ad066629f4f1484ee287ca0bfa473fe1b430d9c6ae01a2ff0078b320851
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- wallhaven (1.0.0)
4
+ wallhaven (1.0.2)
5
5
  httparty (~> 0.17)
6
6
 
7
7
  GEM
@@ -10,13 +10,13 @@ GEM
10
10
  byebug (11.0.1)
11
11
  coderay (1.1.2)
12
12
  diff-lcs (1.3)
13
- httparty (0.17.0)
13
+ httparty (0.17.1)
14
14
  mime-types (~> 3.0)
15
15
  multi_xml (>= 0.5.2)
16
16
  method_source (0.9.2)
17
- mime-types (3.2.2)
17
+ mime-types (3.3)
18
18
  mime-types-data (~> 3.2015)
19
- mime-types-data (3.2019.0331)
19
+ mime-types-data (3.2019.1009)
20
20
  multi_xml (0.6.0)
21
21
  pry (0.12.2)
22
22
  coderay (~> 1.1.0)
@@ -50,4 +50,4 @@ DEPENDENCIES
50
50
  wallhaven!
51
51
 
52
52
  BUNDLED WITH
53
- 2.0.1
53
+ 2.0.2
@@ -0,0 +1,54 @@
1
+ require 'wallhaven'
2
+ require 'open-uri'
3
+ require 'logger'
4
+
5
+ class WallhavenDownload
6
+ attr_accessor :apikey, :search_params, :logger
7
+
8
+ def initialize(**args)
9
+ @apikey = args.delete(:apikey)
10
+ @search_params = args
11
+ @logger = Logger.new(STDOUT)
12
+ @logger.level = Logger::DEBUG
13
+
14
+ Wallhaven.apikey = @apikey
15
+ logger.info "#{self.class} started!"
16
+ end
17
+
18
+ def download!
19
+ begin
20
+ logger.info "Starting page: #{search_params[:page] || 1 }"
21
+
22
+ logger.info "Fetching results"
23
+ results = Wallhaven.search(search_params)
24
+ path_collection = results.collect{|result| result["path"]}
25
+
26
+ logger.info "Starting collection download"
27
+ path_collection.each do |path|
28
+ downloaded = Dir.entries("./downloads")
29
+ filename = path.split("/")[-1]
30
+
31
+ if downloaded.include? filename
32
+ logger.info "-- Already downloaded. Skipping."
33
+ next
34
+ end
35
+
36
+ open(path) do |image|
37
+ logger.info "Downloading #{filename}"
38
+ File.open("./downloads/#{filename}", "wb") do |file|
39
+ file.write(image.read)
40
+ end
41
+ end
42
+ end
43
+ rescue => e
44
+ logger.error e.message
45
+ end
46
+ end
47
+ end
48
+
49
+ wd = WallhavenDownload.new(apikey: ENV['WALLHAVEN_APIKEY'], purity: 100, categories: 100, sorting: "toplist")
50
+
51
+ (1..10).each do |page|
52
+ wd.search_params[:page] = page
53
+ wd.download!
54
+ end
@@ -1,3 +1,3 @@
1
1
  module Wallhaven
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wallhaven
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rojo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-08 00:00:00.000000000 Z
11
+ date: 2019-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -97,6 +97,7 @@ files:
97
97
  - Rakefile
98
98
  - bin/console
99
99
  - bin/setup
100
+ - examples/wallhaven_download.rb
100
101
  - lib/wallhaven.rb
101
102
  - lib/wallhaven/version.rb
102
103
  - lib/wallhaven/wallhaven.rb
@@ -120,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
121
  - !ruby/object:Gem::Version
121
122
  version: '0'
122
123
  requirements: []
123
- rubygems_version: 3.0.3
124
+ rubygems_version: 3.0.4
124
125
  signing_key:
125
126
  specification_version: 4
126
127
  summary: Simple gem for Wallhaven API