imagechan 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/imagechan +24 -9
- data/lib/imagechan/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8aa7643f63cfe2a01f130c1e0bf9ba3cbc77c53c
|
4
|
+
data.tar.gz: 8033eef5983385761e3fab9681502350827bc645
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2ff013662f440776b195e283b9540354e4f564a2dc8cf9a63cf9cde20f8e5078371c2eaa87f258d7c7ef2b05be2d81eb90c92b421591c9733a29916b0179a66
|
7
|
+
data.tar.gz: bcf6334f442948557c312870e420e96d4448037d10c0ee1e647421206c7ceb90442ffa200c5230ee869ab08b38d64ad8752cd41abcac8660fa4f1334f6dd4bc0
|
data/bin/imagechan
CHANGED
@@ -18,9 +18,13 @@ if ARGV.size == 0
|
|
18
18
|
puts <<-end
|
19
19
|
Usage: imagechan <command> [params]
|
20
20
|
Commands:
|
21
|
-
- <
|
21
|
+
- <threadurl> : Download images from valid 4chan thread URL
|
22
22
|
- version : Show current version
|
23
23
|
- clearlock : Clear LOCK file
|
24
|
+
- where : Show path to images
|
25
|
+
|
26
|
+
example: $ imagechan http://boards.4chan.org/w/res/1515138
|
27
|
+
will download all image from that thread
|
24
28
|
end
|
25
29
|
exit(0)
|
26
30
|
else
|
@@ -65,7 +69,7 @@ else
|
|
65
69
|
target_dir = File.join(Imagechan.dir,category,Imagechan.get_folder_name_by_id(thread_id))
|
66
70
|
end
|
67
71
|
|
68
|
-
# Locking download for
|
72
|
+
# Locking download for slow connection
|
69
73
|
if not File.exists?(File.join(Imagechan.dir,"LOCK"))
|
70
74
|
File.open(File.join(Imagechan.dir,"LOCK"),'w'){|f| f.write ""}
|
71
75
|
else
|
@@ -73,6 +77,7 @@ else
|
|
73
77
|
exit(0)
|
74
78
|
end
|
75
79
|
|
80
|
+
|
76
81
|
# Let's the fun begin
|
77
82
|
html_file = open(url)
|
78
83
|
doc = Nokogiri::HTML(html_file)
|
@@ -82,6 +87,7 @@ puts "There are #{images.size} images"
|
|
82
87
|
puts "Saving images to #{target_dir}"
|
83
88
|
|
84
89
|
loop_number = 1
|
90
|
+
|
85
91
|
images.each do |image|
|
86
92
|
img = "http:" + image.attr("href")
|
87
93
|
image_filename = img[/[0-9]+\.(jpg|png|gif)/]
|
@@ -89,18 +95,27 @@ images.each do |image|
|
|
89
95
|
if File.exists?(File.join(target_dir,image_filename))
|
90
96
|
puts "#{image_filename} exists, skipping..."
|
91
97
|
else
|
92
|
-
|
98
|
+
begin
|
99
|
+
print "downloading #{image_filename}..."
|
93
100
|
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
101
|
+
# Pure ruby download method
|
102
|
+
File.open(File.join(target_dir,image_filename),"wb") do |save_file|
|
103
|
+
open(img,"rb") do |read_file|
|
104
|
+
save_file.write(read_file.read)
|
105
|
+
end
|
98
106
|
end
|
107
|
+
puts " done!"
|
108
|
+
rescue Interrupt
|
109
|
+
puts "\nExiting..."
|
110
|
+
File.delete(File.join(target_dir,image_filename)) if File.exists? File.join(target_dir,image_filename)
|
111
|
+
puts "Removed last image to prevent error"
|
112
|
+
File.delete(File.join(Imagechan.dir,"LOCK")) if File.exists? File.join(Imagechan.dir,"LOCK")
|
113
|
+
puts "Lock removed"
|
114
|
+
exit(0)
|
99
115
|
end
|
100
|
-
puts " done!"
|
101
116
|
end
|
102
117
|
loop_number += 1
|
103
118
|
end
|
104
119
|
|
105
|
-
puts "Your images
|
120
|
+
puts "Your images saved in #{target_dir}"
|
106
121
|
File.delete(File.join(Imagechan.dir,"LOCK")) if File.exists? File.join(Imagechan.dir,"LOCK")
|
data/lib/imagechan/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: imagechan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- virtualpain
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-05-
|
11
|
+
date: 2013-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|