wallhaven 1.0.1 → 1.0.2

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