fourchan-kit 0.1.0 → 0.2.0
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/Rakefile +11 -0
- data/fourchan-kit.gemspec +2 -0
- data/lib/fourchan/kit/api.rb +1 -1
- data/lib/fourchan/kit/thread.rb +1 -1
- data/lib/fourchan/kit/tools.rb +14 -3
- data/lib/fourchan/kit/version.rb +1 -1
- metadata +31 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56b13505fc6117d7ae6860b257a6771be8216730
|
4
|
+
data.tar.gz: b818063288566a3a69ca2be15e7a4eabe34fbb08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0140d628d49579bd7f0cdb83f4380799e2bae193e7bdafa3abffc3b4e88607f6a804dfe00b08641ec4f79f133351a8255820019234eacff464e47ddf3594fb3f
|
7
|
+
data.tar.gz: 6fe9c586d85098e8c991f31793fc5c04a8e36ae5f86fc52a0821188e4808faea571366f1317d61e2e5be31c8461da5c0ad3df47a7d32132a1446fabd5fd03659
|
data/Rakefile
CHANGED
@@ -5,3 +5,14 @@ RSpec::Core::RakeTask.new(:spec)
|
|
5
5
|
|
6
6
|
task :default => :spec
|
7
7
|
|
8
|
+
desc "generate and update gh-pages"
|
9
|
+
task :pages do
|
10
|
+
system(" set -x; yard --tag internal:'Maintainer Notes' --hide-tag internal ") or abort
|
11
|
+
system(" set -x; git checkout gh-pages ") or abort
|
12
|
+
system(" set -x; mkdir remove; mv * remove; mv remove/doc .; rm -rf remove ") or abort
|
13
|
+
system(" set -x; mv -v doc/* . ") or abort
|
14
|
+
system(" set -x; git add . ") or abort
|
15
|
+
system(" set -x; git commit --all -m 'Updating documentation' ") or abort
|
16
|
+
system(" set -x; git checkout develop ") or abort
|
17
|
+
puts "don't forget to run: git push origin gh-pages"
|
18
|
+
end
|
data/fourchan-kit.gemspec
CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_dependency "json", "~> 1.8"
|
22
22
|
spec.add_dependency "mechanize", "~> 2.7"
|
23
23
|
spec.add_dependency "thor", "~> 0.19"
|
24
|
+
spec.add_dependency "parallel", "~> 1.0"
|
24
25
|
|
25
26
|
spec.add_development_dependency "aruba", "~> 0.5"
|
26
27
|
spec.add_development_dependency "bundler", "~> 1.6"
|
@@ -29,4 +30,5 @@ Gem::Specification.new do |spec|
|
|
29
30
|
spec.add_development_dependency "rspec", "~> 2.14"
|
30
31
|
spec.add_development_dependency "vcr", "~> 2.9"
|
31
32
|
spec.add_development_dependency "webmock", "~> 1.17"
|
33
|
+
spec.add_development_dependency "yard", "~> 0.8"
|
32
34
|
end
|
data/lib/fourchan/kit/api.rb
CHANGED
data/lib/fourchan/kit/thread.rb
CHANGED
@@ -45,7 +45,7 @@ module Fourchan
|
|
45
45
|
end
|
46
46
|
|
47
47
|
##
|
48
|
-
# Returns an array of image URLs from the thread (see {
|
48
|
+
# Returns an array of image URLs from the thread (see {Fourchan::Kit::Post#image_link}).
|
49
49
|
def images
|
50
50
|
images = []
|
51
51
|
self.posts.each do |post|
|
data/lib/fourchan/kit/tools.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'mechanize'
|
2
2
|
require 'pathname'
|
3
|
+
require 'parallel'
|
3
4
|
|
4
5
|
module Fourchan
|
5
6
|
module Kit
|
@@ -34,18 +35,28 @@ module Fourchan
|
|
34
35
|
##
|
35
36
|
# Downloads every image from a thread.
|
36
37
|
#
|
38
|
+
# Makes use of parallel processing for faster downloading. Currently set to 8 threads.
|
39
|
+
#
|
37
40
|
# @param link [URL] the URL for the thread to download.
|
38
41
|
def self.download_thread(link, options = {})
|
39
42
|
options[:checked] ||= false
|
40
43
|
|
41
44
|
if options[:checked] || ( valid_thread?(link) && valid_link?(link) )
|
42
45
|
board, thread_no = get_info(link)
|
43
|
-
thread
|
46
|
+
thread = Thread.new(board, thread_no)
|
47
|
+
images = []
|
48
|
+
sizes = []
|
44
49
|
|
45
50
|
thread.posts.each do |post|
|
46
|
-
|
47
|
-
|
51
|
+
sizes << post.fsize
|
52
|
+
images << post.image_link if post.tim
|
53
|
+
end
|
54
|
+
|
55
|
+
Parallel.each_with_index(images, in_threads: 8) do |image, index|
|
56
|
+
options[:fsize] = sizes[index]
|
57
|
+
download_image(image, options.dup)
|
48
58
|
end
|
59
|
+
|
49
60
|
else
|
50
61
|
puts "Not a 4chan thread" unless options[:quiet]
|
51
62
|
end
|
data/lib/fourchan/kit/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fourchan-kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- lauritzsh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0.19'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: parallel
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: aruba
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,6 +164,20 @@ dependencies:
|
|
150
164
|
- - "~>"
|
151
165
|
- !ruby/object:Gem::Version
|
152
166
|
version: '1.17'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: yard
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0.8'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0.8'
|
153
181
|
description: Fourchan Kit is a Ruby wrapper and tool for the 4chan API. Use Fourchan
|
154
182
|
Kit to interact with the API using Ruby, or use the tool to interact with the threads
|
155
183
|
on 4chan.
|
@@ -268,3 +296,4 @@ test_files:
|
|
268
296
|
- spec/fourchan_kit_tools_spec.rb
|
269
297
|
- spec/spec_helper.rb
|
270
298
|
- spec/threads.txt
|
299
|
+
has_rdoc:
|