imagebackup 0.1.1 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8302dabf090a0201de6843bea4676e91863635810bd53828f1c5047581f519d9
4
- data.tar.gz: 8dfc55fd154415240dd4b8111b96556be9b78f41bb51626fd342a5e530600d83
3
+ metadata.gz: 19904efc55e1c01e746024dc5918741eab0639d7b9cc50dacc1cfec0223c5532
4
+ data.tar.gz: abc4d7dc6e5a97d83149e6808ed92efca7949cfa5019bf6331698abb01cb4a8c
5
5
  SHA512:
6
- metadata.gz: f40f30bf85d614484a578fe1e3eba2be93e61efcc6ec1703b61c53002b06c08c33c95d00c40dde9bce3098afc7b59e8c13878c49e84531be085fc0701a6dd9e2
7
- data.tar.gz: c57c643d830b95925922499fe971948ed2a9ddb829e8dcf75ecb6a7ab472c994c6941546ad47bc3f6d69d1a6461dcc52dd04998fd9b021c9eaee9f477d0a39ef
6
+ metadata.gz: 626ad2725257da8b7aaa53942613b2a3a14baa698ba150c84e71a9e0d34029531f0bd74e50fd9f2bbbac5ae05d6a1fa60eca0d981622f82df22911f8a96b5fba
7
+ data.tar.gz: a3268bfb3094c872553589d0f7cfaf0272fface7e6e2e3e3f31b4180024a08b8b69904b7c4579b3781258a915e73f97e26c957d0651f794d26a1cf946b3027d8
data/README.md CHANGED
@@ -9,9 +9,10 @@
9
9
 
10
10
  - **Ruby**, plus gems:
11
11
  - exiv2
12
- - ffmpeg-video-info
12
+ - ffprober
13
13
  - Ruby modules:
14
14
  - fileutils.rb
15
+ - json
15
16
 
16
17
 
17
18
  ## Usage:
data/imagebackup.gemspec CHANGED
@@ -28,5 +28,5 @@ Gem::Specification.new do |spec|
28
28
  spec.require_paths = ["lib"]
29
29
 
30
30
  spec.add_dependency 'exiv2'
31
- spec.add_dependency 'ffmpeg-video-info'
31
+ spec.add_dependency 'ffprober'
32
32
  end
@@ -1,3 +1,3 @@
1
1
  module Imagebackup
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
data/lib/imagebackup.rb CHANGED
@@ -2,23 +2,47 @@
2
2
  require_relative 'imagebackup/version'
3
3
 
4
4
  require 'exiv2'
5
+ require 'fileutils'
6
+ require 'ffprober'
7
+ require 'json'
8
+
9
+ def get_dates(file)
10
+ begin
11
+ image = Exiv2::ImageFactory.open(file)
12
+ image.read_metadata
13
+ date = image.exif_data.find { |v| v[0] == 'Exif.Image.DateTime' }
14
+ date = date[1].split[0].gsub(':','-')
15
+ rescue => exiv2_no_exifdata
16
+ probe = Ffprober::Parser.from_file(file)
17
+ date = probe.format.tags[:creation_time].split('T')[0]
18
+ end
19
+ return date
20
+ end
21
+
22
+ dest = ARGV[0]
5
23
 
6
24
  file_types = [
7
25
  '**/*.CR2',
8
26
  '**/*.DNG',
9
27
  '**/*.MOV',
10
- '**/*.MP4'
28
+ '**/*.MP4',
29
+ '**/*.JPG'
11
30
  ]
12
31
 
13
- Dir.glob(file_types).each do |f|
14
- puts "#{Dir.pwd}/#{f}"
32
+ Dir.glob(file_types).reverse_each do |f|
33
+
15
34
  file = "#{Dir.pwd}/#{f}"
16
- image = Exiv2::ImageFactory.open(file)
17
- image.read_metadata
18
- # p image.iptc_data.each do |k,v|
19
- # puts "#{k} = #{v}\n"
20
- # end
21
- # p date = image.exif_data.member?("Exif.Image.DateTime")
22
- p date = image.exif_data.find { |v| v[0] == 'Exif.Image.DateTime' }
23
- gets
35
+
36
+ date = get_dates(file)
37
+ destpath = "#{dest}/#{date}"
38
+ destpath = destpath.gsub('//','/')
39
+ outfile = "#{destpath}/#{File.basename(file)}"
40
+ if File.exist?(outfile)
41
+ puts "\"#{outfile}\" already exists."
42
+ else
43
+ puts "copying \"#{file}\" to \"#{outfile}\""
44
+ FileUtils.mkdir_p(destpath)
45
+ FileUtils.cp(file,outfile)
46
+ end
47
+ # sleep 0.1
24
48
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imagebackup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - adrian-sal-kennedy
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: ffmpeg-video-info
28
+ name: ffprober
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="