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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e82254f660673608d3200decbd1d63d62dc9c561
4
- data.tar.gz: f4739986f5c5ee1fb8dec91d7b3af67d2d30697e
3
+ metadata.gz: 72e16e0762f4fd5e9f5f7273a3ac3d709b7fc4c5
4
+ data.tar.gz: 9fc37f4bbd55c749d8e02f79700ef2e7e8613a43
5
5
  SHA512:
6
- metadata.gz: e6a1d84080fce3b8a0a38d19ae841ca43fc0a4130f1f8db4e3a9f22b4d571822e5f18b12a61ef205b1578c6629a11fd1fb78a4509aff627a5118dcc97c8d851e
7
- data.tar.gz: c9cbcf2d8d1e36dca6088e9f389034f6c508b5dd7eeacf5201e469369d87a2060ad05906f7c80ae0c27af5f8795e8e6fde1f914201ea2f4ce77eb27d2eba46fa
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} [-h|--help|-v|--version] <photo directory>\n"
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
- Printer.failure "#{photo}: #{$!}"
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 / 1000000).to_s + "MB"
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
 
@@ -1,5 +1,5 @@
1
1
  module Flickru
2
2
  unless defined? VERSION
3
- VERSION = "0.5.1"
3
+ VERSION = "0.6.0"
4
4
  end
5
5
  end
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.5.1
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-10-17 00:00:00.000000000 Z
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: '0'
318
+ version: '2.3'
318
319
  required_rubygems_version: !ruby/object:Gem::Requirement
319
320
  requirements:
320
321
  - - ">="