flickru 0.5.1 → 0.6.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/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
|
- - ">="
|