flickru 0.5.1 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/flickru +6 -1
- data/lib/flickru.rb +17 -5
- data/lib/flickru/file.rb +2 -2
- data/lib/flickru/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 72e16e0762f4fd5e9f5f7273a3ac3d709b7fc4c5
|
4
|
+
data.tar.gz: 9fc37f4bbd55c749d8e02f79700ef2e7e8613a43
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c839dc78d9da45abd827527d74afabc9f4766dc7239fbd037fe818e36a8ac90e4da6571d491bcbfa213f1536ca2fcd26e9a7b250d0a1bc9023d8faf24c09bf14
|
7
|
+
data.tar.gz: b714bb96e49bc53fde01e577a26af9394107ee012b57222c25ccbd9b3cdd1894646a274215908f1e232d7327dfad8b6bc28c697f21904c09554eb0803c38de67
|
data/bin/flickru
CHANGED
@@ -6,12 +6,17 @@
|
|
6
6
|
require 'flickru'
|
7
7
|
require 'flickru/version'
|
8
8
|
|
9
|
+
rmFlag = false
|
10
|
+
|
9
11
|
if ARGV[0] == "-h" or ARGV[0] == "--help"
|
10
12
|
Flickru.usage
|
11
13
|
exit
|
12
14
|
elsif ARGV[0] == "-v" or ARGV[0] == "--version"
|
13
15
|
puts Flickru::VERSION
|
14
16
|
exit
|
17
|
+
elsif ARGV[0] == "-r" or ARGV[0] == "--rm"
|
18
|
+
rmFlag = true
|
19
|
+
ARGV.shift
|
15
20
|
elsif ARGV.length != 1
|
16
21
|
Flickru.usage
|
17
22
|
Flickru.die __LINE__, "wrong number of arguments" +
|
@@ -28,4 +33,4 @@ elsif not File.directory? photo_dir
|
|
28
33
|
Flickru.die __LINE__, "'#{ARGV[0]}' is not directory"
|
29
34
|
end
|
30
35
|
|
31
|
-
Flickru.flickru photo_dir
|
36
|
+
Flickru.flickru rmFlag, photo_dir
|
data/lib/flickru.rb
CHANGED
@@ -18,8 +18,12 @@ module Flickru
|
|
18
18
|
def Flickru.usage
|
19
19
|
filename = File.basename __FILE__
|
20
20
|
Printer.show "#{filename} -- Flickr upload command-line automator\n"
|
21
|
-
Printer.show "usage: #{filename} [
|
21
|
+
Printer.show "usage: #{filename} [<options>] <photo directory>\n"
|
22
22
|
Printer.show "example: #{filename} my_photos\n"
|
23
|
+
Printer.show "options:\n"
|
24
|
+
Printer.show " -h, --help show help\n"
|
25
|
+
Printer.show " -r, --rm delete each photo when uploaded\n"
|
26
|
+
Printer.show " -v, --version show version\n"
|
23
27
|
readme = File.expand_path(File.join(File.dirname(__FILE__), '..', 'README'))
|
24
28
|
Printer.show "\n#{IO.read(readme)}"
|
25
29
|
end
|
@@ -57,7 +61,7 @@ rescue
|
|
57
61
|
raise RuntimeError, "unable to write configuration file #{config_filename}"
|
58
62
|
end
|
59
63
|
|
60
|
-
def self.flickru photo_dir
|
64
|
+
def self.flickru rmFlag, photo_dir
|
61
65
|
begin
|
62
66
|
Flickru.read_config
|
63
67
|
rescue RuntimeError
|
@@ -74,15 +78,23 @@ def self.flickru photo_dir
|
|
74
78
|
photos.sort.each do |photo|
|
75
79
|
Printer.info "file '#{File.join File.basename(File.dirname(photo)), File.basename(photo)}' under process"
|
76
80
|
begin
|
81
|
+
retries ||= 0
|
77
82
|
photo_id = Flickr.upload_photo photo
|
78
83
|
photoset_ids << Flickr.classify(photo, photo_id)
|
79
|
-
rescue ArgumentError || Errno::ENOENT || Errno::EAGAIN || FlickRaw::FailedResponse
|
80
|
-
|
84
|
+
rescue ArgumentError || Errno::ENOENT || Errno::EAGAIN || Errno::EPIPE || FlickRaw::FailedResponse
|
85
|
+
if (retries += 1) < 3
|
86
|
+
Printer.warn "retrying #{photo}: #{$!}"
|
87
|
+
sleep (Math.exp retries)
|
88
|
+
retry
|
89
|
+
else
|
90
|
+
Printer.failure "#{photo}: #{$!}"
|
91
|
+
end
|
81
92
|
end
|
82
93
|
journey.take File.size(photo)
|
83
94
|
Printer.info "#{File.human_readable_size journey.progress} uploaded, " +
|
84
95
|
"#{File.human_readable_size journey.distance} remaining. " +
|
85
96
|
"ETA: #{Printer.human_readable_seconds journey.eta}" if journey.eta > 0
|
97
|
+
File.delete photo if rmFlag
|
86
98
|
end
|
87
99
|
|
88
100
|
photoset_ids.each do |set_id|
|
@@ -93,7 +105,7 @@ def self.flickru photo_dir
|
|
93
105
|
" better primary photos for your sets have been uploaded,\n" +
|
94
106
|
" and better collection mosaics can be randomised."
|
95
107
|
rescue Exception => e
|
96
|
-
file_line = e.backtrace[0].split(':')
|
108
|
+
file_line = e.backtrace.empty? ? "?" : e.backtrace[0].split(':')
|
97
109
|
Flickru.die "#{File.basename file_line[-3]}:#{file_line[-2]}", e.message
|
98
110
|
end
|
99
111
|
|
data/lib/flickru/file.rb
CHANGED
@@ -90,9 +90,9 @@ class File
|
|
90
90
|
elsif file_size < 1000000
|
91
91
|
(file_size / 1000).to_s + "KB"
|
92
92
|
elsif file_size < 1000000000
|
93
|
-
(file_size /
|
93
|
+
(file_size / 100000).to_s + "MB"
|
94
94
|
else
|
95
|
-
(file_size / 1000000000).to_s + "GB"
|
95
|
+
(file_size / 1000000000.0).round.to_s + "GB" # with float division
|
96
96
|
end
|
97
97
|
end
|
98
98
|
|
data/lib/flickru/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flickru
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jesus Pardillo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -236,7 +236,8 @@ executables:
|
|
236
236
|
- flickru
|
237
237
|
- geowiki
|
238
238
|
extensions: []
|
239
|
-
extra_rdoc_files:
|
239
|
+
extra_rdoc_files:
|
240
|
+
- README
|
240
241
|
files:
|
241
242
|
- README
|
242
243
|
- bin/flickru
|
@@ -314,7 +315,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
314
315
|
requirements:
|
315
316
|
- - ">="
|
316
317
|
- !ruby/object:Gem::Version
|
317
|
-
version: '
|
318
|
+
version: '2.3'
|
318
319
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
319
320
|
requirements:
|
320
321
|
- - ">="
|