tomosia_icon8_crawl 0.1.3 → 0.1.8
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/Gemfile +3 -2
- data/Gemfile.lock +56 -60
- data/README.md +21 -21
- data/lib/tomosia_icon8_crawl.rb +138 -136
- data/lib/tomosia_icon8_crawl/version.rb +1 -1
- data/tomosia_icon8_crawl.gemspec +5 -6
- metadata +30 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4bb616bc43457255e62c075140fd4ab1b1a462ee1c07fae884221b0f474d9d57
|
4
|
+
data.tar.gz: 899afe155c3484dc7bac9b6df452094b89676ff5d855f865d57710e797248849
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 928c1591780c975fb2234287136874a7d59f17985b1f3f4a3f623a04411b3af1e1fb2659d0633e4f9be969c044892539182430163281610adfec5c606a97e6d8
|
7
|
+
data.tar.gz: 2e2b5ff37091fd220e6eb701ed7c413d6f948c0e050fe65fefdda1899e92fdd4544cce86e1daf49b3654ff18c5c623c6f7927264ceb183aab21ccbe161597c25
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,60 +1,56 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
tomosia_icon8_crawl (0.1.
|
5
|
-
httparty
|
6
|
-
nokogiri
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
rspec (3.9.
|
32
|
-
rspec-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
writeexcel (~> 1.0, >= 1.0.5)
|
58
|
-
|
59
|
-
BUNDLED WITH
|
60
|
-
2.1.4
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
tomosia_icon8_crawl (0.1.4)
|
5
|
+
httparty
|
6
|
+
nokogiri
|
7
|
+
thor
|
8
|
+
writeexcel
|
9
|
+
|
10
|
+
GEM
|
11
|
+
remote: https://rubygems.org/
|
12
|
+
specs:
|
13
|
+
coderay (1.1.3)
|
14
|
+
diff-lcs (1.4.4)
|
15
|
+
httparty (0.17.3)
|
16
|
+
mime-types (~> 3.0)
|
17
|
+
multi_xml (>= 0.5.2)
|
18
|
+
method_source (1.0.0)
|
19
|
+
mime-types (3.3.1)
|
20
|
+
mime-types-data (~> 3.2015)
|
21
|
+
mime-types-data (3.2020.0512)
|
22
|
+
mini_portile2 (2.4.0)
|
23
|
+
multi_xml (0.6.0)
|
24
|
+
nokogiri (1.10.10-x64-mingw32)
|
25
|
+
mini_portile2 (~> 2.4.0)
|
26
|
+
rake (12.3.3)
|
27
|
+
rspec (3.9.0)
|
28
|
+
rspec-core (~> 3.9.0)
|
29
|
+
rspec-expectations (~> 3.9.0)
|
30
|
+
rspec-mocks (~> 3.9.0)
|
31
|
+
rspec-core (3.9.2)
|
32
|
+
rspec-support (~> 3.9.3)
|
33
|
+
rspec-expectations (3.9.2)
|
34
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
35
|
+
rspec-support (~> 3.9.0)
|
36
|
+
rspec-mocks (3.9.1)
|
37
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
38
|
+
rspec-support (~> 3.9.0)
|
39
|
+
rspec-support (3.9.3)
|
40
|
+
thor (1.0.1)
|
41
|
+
writeexcel (1.0.5)
|
42
|
+
|
43
|
+
PLATFORMS
|
44
|
+
x64-mingw32
|
45
|
+
|
46
|
+
DEPENDENCIES
|
47
|
+
bundler
|
48
|
+
httparty (~> 0.17.3)
|
49
|
+
pry (~> 0.13.1)
|
50
|
+
rake (~> 12.0)
|
51
|
+
rspec (~> 3.0)
|
52
|
+
tomosia_icon8_crawl!
|
53
|
+
writeexcel (~> 1.0, >= 1.0.5)
|
54
|
+
|
55
|
+
BUNDLED WITH
|
56
|
+
2.1.4
|
data/README.md
CHANGED
@@ -14,49 +14,49 @@ gem 'tomosia_icon8_crawl'
|
|
14
14
|
|
15
15
|
And then execute:
|
16
16
|
|
17
|
-
|
17
|
+
$ bundle install
|
18
18
|
|
19
19
|
Or install it yourself as:
|
20
20
|
|
21
|
-
|
21
|
+
$ gem install tomosia_icon8_crawl
|
22
22
|
|
23
23
|
## Usage
|
24
24
|
|
25
25
|
### Commandline or Terminal:
|
26
26
|
|
27
|
-
|
27
|
+
Download all photos including pages from icon8.com with keyword you search
|
28
28
|
|
29
|
-
|
29
|
+
$ tomosia_icon8_crawl crawl "keyword" --destination="storage path"
|
30
30
|
|
31
|
-
|
31
|
+
Download pictures with number you want to get from icon8.com with keyword to find
|
32
32
|
|
33
|
-
|
33
|
+
$ tomosia_icon8_crawl crawl "keyword" --destination="storage path" --max=number
|
34
34
|
|
35
35
|
### Developers:
|
36
36
|
|
37
|
-
|
37
|
+
Gemfile:
|
38
38
|
|
39
|
-
|
39
|
+
$ gem 'tomosia_icon8_crawl'
|
40
40
|
|
41
|
-
|
41
|
+
Require:
|
42
42
|
|
43
|
-
|
43
|
+
$ require 'tomosia_icon8_crawl'
|
44
44
|
|
45
|
-
|
45
|
+
Download all photos including pages from icon8.com with keyword you search
|
46
46
|
|
47
|
-
|
47
|
+
$ TomosiaIcon8Crawl::CrawlIcon8.crawl("keyword", "destination")
|
48
48
|
|
49
|
-
|
49
|
+
Download pictures with number you want to get from icon8.com with keyword to find
|
50
50
|
|
51
|
-
|
51
|
+
$ TomosiaIcon8Crawl::CrawlIcon8.crawl("keyword", "destination", max)
|
52
52
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
53
|
+
Help:
|
54
|
+
- keyword is the word used for searching.
|
55
|
+
ex: corona, car, virus,...
|
56
|
+
- destination is the path of the directory where the image was downloaded.
|
57
|
+
ex: E:\download, C:\download, C:\Desktop,...
|
58
|
+
- max max is the number of images you want to download.
|
59
|
+
ex: 100, 10, 5, 1000,...
|
60
60
|
|
61
61
|
|
62
62
|
|
data/lib/tomosia_icon8_crawl.rb
CHANGED
@@ -1,153 +1,155 @@
|
|
1
1
|
module TomosiaIcon8Crawl
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
class CrawlIcon8
|
2
|
+
require 'open-uri'
|
3
|
+
require "httparty"
|
4
|
+
require 'writeexcel'
|
5
|
+
class CrawlIcon8
|
7
6
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
7
|
+
# get data from website
|
8
|
+
def self.json(key, max = nil)
|
9
|
+
if key == nil
|
10
|
+
p "No data!"
|
11
|
+
else
|
12
|
+
if max == nil
|
13
|
+
urlc = 'https://search.icons8.com/api/iconsets/v5/search?term=' + key + '&amount=1'
|
14
|
+
page = HTTParty.get(urlc)
|
15
|
+
res = page.parsed_response
|
16
|
+
countAll = res['parameters']['countAll']
|
17
|
+
url = 'https://search.icons8.com/api/iconsets/v5/search?term=' + key + '&amount=' + countAll.to_s
|
18
|
+
else
|
19
|
+
url = 'https://search.icons8.com/api/iconsets/v5/search?term=' + key + '&amount=' + max
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
page_data = HTTParty.get(url)
|
24
|
+
@responses = page_data.parsed_response
|
25
|
+
end
|
27
26
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
27
|
+
# save file to txt
|
28
|
+
def self.save_file_txt(index, name, url, size, extension)
|
29
|
+
File.open("log_image.txt", "a+") do |f|
|
30
|
+
f.write("#{index}. name: #{name} | url: #{url} | size: #{size}Kb | extension: #{extension} \n")
|
31
|
+
end
|
32
|
+
end
|
34
33
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
34
|
+
# save file to excel
|
35
|
+
def self.save_file_excel( path, data = {})
|
36
|
+
p "Write excel"
|
37
|
+
begin
|
38
|
+
des = path + '/export.xls'
|
39
|
+
workbook = WriteExcel.new(des)
|
40
|
+
format = workbook.add_format
|
41
|
+
format.set_bold()
|
42
|
+
format.set_align('center')
|
43
43
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
44
|
+
data_col = workbook.add_format
|
45
|
+
data_col.set_align('center')
|
46
|
+
format_url = workbook.add_format
|
47
|
+
format_url.set_color('blue')
|
48
|
+
format_url.set_align('center')
|
49
49
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
50
|
+
worksheet = workbook.add_worksheet
|
51
|
+
|
52
|
+
worksheet.write_string(0, 0, 'STT', format)
|
53
|
+
worksheet.write_string(0, 1, 'NAME', format)
|
54
|
+
worksheet.write_string(0, 2, 'URL', format)
|
55
|
+
worksheet.write_string(0, 3, 'SIZE(byte)', format)
|
56
|
+
worksheet.write_string(0, 4, 'EXTENSION', format)
|
57
57
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
58
|
+
multi = []
|
59
|
+
data.each_with_index do |row, index|
|
60
|
+
i = index + 1
|
61
|
+
# p i
|
62
|
+
# p row
|
63
|
+
multi << Thread.new do
|
64
|
+
row.each do |key, value|
|
65
|
+
# p key
|
66
66
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
67
|
+
worksheet.write_string(i, 0, row['index'], data_col)
|
68
|
+
worksheet.write_string(i, 1, row['name'], data_col)
|
69
|
+
worksheet.write_url(i, 2, row['url'], format_url)
|
70
|
+
worksheet.write_string(i, 3, row['size'], data_col)
|
71
|
+
worksheet.write_string(i, 4, row['extension'], data_col)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
multi.each{ |m| m.join }
|
76
76
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
77
|
+
workbook.close
|
78
|
+
rescue Exception => e
|
79
|
+
p "Can't saved file"
|
80
|
+
p e
|
81
|
+
end
|
82
|
+
p "Write excel susscess!"
|
83
|
+
end
|
84
84
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
end
|
85
|
+
# download image
|
86
|
+
def self.download_image(path, img)
|
87
|
+
timeout = 0
|
88
|
+
begin
|
89
|
+
open(img) do |image|
|
90
|
+
File.open(path, 'wb') do |file|
|
91
|
+
file.write(image.read)
|
92
|
+
@size = image.size
|
93
|
+
end
|
94
|
+
end
|
95
|
+
rescue
|
96
|
+
if timeout < 5
|
97
|
+
timeout += 1
|
98
|
+
p "Retry download image"
|
99
|
+
retry
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
104
103
|
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
104
|
+
# multi download image
|
105
|
+
def self.multi_download_image(path, imgs)
|
106
|
+
p "Start download image"
|
107
|
+
print "Loadding"
|
108
|
+
begin
|
109
|
+
threads = []
|
110
|
+
@data = []
|
110
111
|
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
112
|
+
imgs.each_with_index do |img, index|
|
113
|
+
# p index
|
114
|
+
title = File.basename(img, '.png')
|
115
|
+
des = path. + "/" + index.to_s + "-" + title + ".png"
|
116
|
+
ext = File.extname(img).delete('.')
|
117
|
+
threads << Thread.new do
|
118
|
+
download_image(des, img)
|
119
|
+
row = {"index" => index, "name" => title, "url" => img, "size" => @size, "extension" => ext}
|
120
|
+
@data.push(row)
|
121
|
+
print "."
|
122
|
+
end
|
123
|
+
end
|
124
|
+
threads.each{ |t| t.join }
|
125
|
+
rescue Exception => e
|
126
|
+
p "no data"
|
127
|
+
p e
|
128
|
+
end
|
129
|
+
print "\nDownload success!\n"
|
130
|
+
end
|
129
131
|
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
132
|
+
# main
|
133
|
+
def self.crawl(keyword = nil, path = ".", max = nil)
|
134
|
+
begin
|
135
|
+
|
136
|
+
images = []
|
137
|
+
des = ""
|
138
|
+
json(keyword, max)
|
139
|
+
@responses['icons'].each_with_index do |item, index|
|
138
140
|
|
139
|
-
|
141
|
+
src = "https://img.icons8.com/#{item['platform']}/2x/#{item['commonName']}.png"
|
140
142
|
|
141
|
-
|
142
|
-
|
143
|
-
|
143
|
+
# add image
|
144
|
+
images.push(src)
|
145
|
+
end
|
144
146
|
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
147
|
+
multi_download_image(path, images)
|
148
|
+
save_file_excel(path, @data)
|
149
|
+
rescue Exception => e
|
150
|
+
p "--Runtime error--"
|
151
|
+
p e
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
153
155
|
end
|
data/tomosia_icon8_crawl.gemspec
CHANGED
@@ -6,19 +6,18 @@ Gem::Specification.new do |spec|
|
|
6
6
|
spec.authors = ["ninh-tomosia"]
|
7
7
|
spec.email = ["tt.ninh.le@tomosia.com"]
|
8
8
|
|
9
|
-
spec.summary = %q{tomosia-icon8-crawl using download image from
|
9
|
+
spec.summary = %q{tomosia-icon8-crawl using download image from icons8.com}
|
10
10
|
spec.homepage = "https://github.com/ninh-tomosia/tomosia-icon8-crawl"
|
11
11
|
spec.license = "MIT"
|
12
12
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
|
13
13
|
|
14
14
|
spec.add_development_dependency "bundler"
|
15
15
|
spec.add_development_dependency "rake"
|
16
|
-
spec.add_runtime_dependency "thor"
|
16
|
+
spec.add_runtime_dependency "thor", '~> 1.0', '>= 1.0.1'
|
17
17
|
spec.add_development_dependency "rspec"
|
18
|
-
spec.add_runtime_dependency "httparty"
|
19
|
-
spec.add_runtime_dependency "writeexcel"
|
20
|
-
spec.add_runtime_dependency "nokogiri"
|
21
|
-
spec.add_runtime_dependency "pry"
|
18
|
+
spec.add_runtime_dependency "httparty", '~> 0.17.3'
|
19
|
+
spec.add_runtime_dependency "writeexcel", '~> 1.0', '>= 1.0.5'
|
20
|
+
spec.add_runtime_dependency "nokogiri", '~> 1.10', '>= 1.10.10'
|
22
21
|
|
23
22
|
# Specify which files should be added to the gem when it is released.
|
24
23
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tomosia_icon8_crawl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ninh-tomosia
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-08-
|
11
|
+
date: 2020-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -42,16 +42,22 @@ dependencies:
|
|
42
42
|
name: thor
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.0'
|
45
48
|
- - ">="
|
46
49
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
50
|
+
version: 1.0.1
|
48
51
|
type: :runtime
|
49
52
|
prerelease: false
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
51
54
|
requirements:
|
55
|
+
- - "~>"
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '1.0'
|
52
58
|
- - ">="
|
53
59
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
60
|
+
version: 1.0.1
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: rspec
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,58 +76,56 @@ dependencies:
|
|
70
76
|
name: httparty
|
71
77
|
requirement: !ruby/object:Gem::Requirement
|
72
78
|
requirements:
|
73
|
-
- - "
|
79
|
+
- - "~>"
|
74
80
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
81
|
+
version: 0.17.3
|
76
82
|
type: :runtime
|
77
83
|
prerelease: false
|
78
84
|
version_requirements: !ruby/object:Gem::Requirement
|
79
85
|
requirements:
|
80
|
-
- - "
|
86
|
+
- - "~>"
|
81
87
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
88
|
+
version: 0.17.3
|
83
89
|
- !ruby/object:Gem::Dependency
|
84
90
|
name: writeexcel
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
86
92
|
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '1.0'
|
87
96
|
- - ">="
|
88
97
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
98
|
+
version: 1.0.5
|
90
99
|
type: :runtime
|
91
100
|
prerelease: false
|
92
101
|
version_requirements: !ruby/object:Gem::Requirement
|
93
102
|
requirements:
|
103
|
+
- - "~>"
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '1.0'
|
94
106
|
- - ">="
|
95
107
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
108
|
+
version: 1.0.5
|
97
109
|
- !ruby/object:Gem::Dependency
|
98
110
|
name: nokogiri
|
99
111
|
requirement: !ruby/object:Gem::Requirement
|
100
112
|
requirements:
|
101
|
-
- - "
|
113
|
+
- - "~>"
|
102
114
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
104
|
-
type: :runtime
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
115
|
+
version: '1.10'
|
108
116
|
- - ">="
|
109
117
|
- !ruby/object:Gem::Version
|
110
|
-
version:
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: pry
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
+
version: 1.10.10
|
118
119
|
type: :runtime
|
119
120
|
prerelease: false
|
120
121
|
version_requirements: !ruby/object:Gem::Requirement
|
121
122
|
requirements:
|
123
|
+
- - "~>"
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '1.10'
|
122
126
|
- - ">="
|
123
127
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
128
|
+
version: 1.10.10
|
125
129
|
description:
|
126
130
|
email:
|
127
131
|
- tt.ninh.le@tomosia.com
|
@@ -170,5 +174,5 @@ requirements: []
|
|
170
174
|
rubygems_version: 3.1.2
|
171
175
|
signing_key:
|
172
176
|
specification_version: 4
|
173
|
-
summary: tomosia-icon8-crawl using download image from
|
177
|
+
summary: tomosia-icon8-crawl using download image from icons8.com
|
174
178
|
test_files: []
|