phtools 0.16.1 → 0.17.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '07819be1531f4b0bca4d3387341a0be066b73c7fa57bed97b9103b8f112b9acf'
4
- data.tar.gz: 0b6b8306c431d955ea55f507ab8fc843044e4fc15599e21d9fa664a20a2546b0
3
+ metadata.gz: a270a3dd6c5abc76000e2ee147a557cf9c178e4ac553c37e663d7652fed11056
4
+ data.tar.gz: 91ea07d29d28afed37adeca86dec24a210903cc71a16efb5456ff715d69b5871
5
5
  SHA512:
6
- metadata.gz: 3967e0b17bc660c2dabe9b507b1d9a7d7a0a5da4b3d7a260847930b847519ea29c5778c16bec12717db8c79058462d85cc889b40691e41f4b7a83706f0ed8c1a
7
- data.tar.gz: 99d05fdd12e4e5d2d3cc28c1c5021fbe621d7b2feb43fc83ccf94c0e1ec71f944ea14c1a59e5ab06ec511943828a07357c06fd2e7242790bd3a18d5049468e5d
6
+ metadata.gz: 25c9d76a45fe281423a5f760396e68cd66a413a09fef88a6bcaffa3d5b8ae415f848fd8cc8204bde5be66d8da1606e229b17d1be0af700e860d4f991abd23015
7
+ data.tar.gz: 26debbebf8479ec301dd7f6c1cae431c207f88559f67b6214457c654c6acfe52ffd900fa958b74d59b5d58188b7525eed3762a60349498c042af9696e817d843
data/History.md CHANGED
@@ -1,47 +1,58 @@
1
1
  # RELEASED
2
2
 
3
+ ## [v0.17.0](https://github.com/andrewbiz/phtools/compare/v0.17.0...v0.16.0)
4
+
5
+ - cleaned dependancy from old ActiveSupport which had problem - compile error for bigdecimal gem on new ruby versions
6
+
3
7
  ## [v0.16.0](https://github.com/andrewbiz/phtools/compare/v0.15.0...v0.16.0)
4
- * phtools now support Apple HEIC image file format (as exiftool it can only read tags)
8
+
9
+ - phtools now support Apple HEIC image file format (as exiftool it can only read tags)
5
10
 
6
11
  ## [v0.15.0](https://github.com/andrewbiz/phtools/compare/v0.14.0...v0.15.0)
7
- * phls now supports --range parameter allowing the user to filter files which name endings are not in the given range
12
+
13
+ - phls now supports --range parameter allowing the user to filter files which name endings are not in the given range
8
14
 
9
15
  ## [v0.14.0](https://github.com/andrewbiz/phtools/compare/v0.10.0...v0.14.0)
10
- * ruby version required >= 2.4.0
11
- * phmove: now default TARGET_FOLDER is '.'
12
- * added 3gp video files support
13
- * phls: sort files in alphabet order
14
- * phrename: added new mode - manual rename. User sets date-time-in-the-name, increment and header to generate filename
15
- * code refactor (code optimizations, ruby 2.4.2 adaptation, new rubocop rules)
16
+
17
+ - ruby version required >= 2.4.0
18
+ - phmove: now default TARGET_FOLDER is '.'
19
+ - added 3gp video files support
20
+ - phls: sort files in alphabet order
21
+ - phrename: added new mode - manual rename. User sets date-time-in-the-name, increment and header to generate filename
22
+ - code refactor (code optimizations, ruby 2.4.2 adaptation, new rubocop rules)
16
23
 
17
24
  ## [v0.10.0](https://github.com/andrewbiz/phtools/compare/v0.8.0...v0.10.0)
18
- * phgettags added to the bundle
19
- * phfixdto added to the bundle
25
+
26
+ - phgettags added to the bundle
27
+ - phfixdto added to the bundle
20
28
 
21
29
  ## [v0.8.0](https://github.com/andrewbiz/phtools/compare/v0.7.7...v0.8.0)
22
- * phfixfmd added to the bundle
30
+
31
+ - phfixfmd added to the bundle
23
32
 
24
33
  ## [v0.7.7](https://github.com/andrewbiz/phtools/compare/v0.6.0...v0.7.7)
25
- * phrename: added --shift_time option
26
- * phrename is idempotent (safe to be re-run several times on one file)
27
- * phrename: by-default now it scans several EXIF tags to retreive date-time creation info. If no tags are found - File ModifyDate (mtime) is used to rename file. See more details in `phrename -h`
28
- * phrename becomes more informative: reports which EXIF tag was taken, or if the date-time in name was kept unchanged. This flow goes to STDERR to keep STDOUT clean
29
- * phbackup now preserves FileModify dates
30
- * internal improvements: switch to mini_exiftool gem, get rid of nesty gem (using standard Ruby *cause* for Exceptions)
34
+
35
+ - phrename: added --shift_time option
36
+ - phrename is idempotent (safe to be re-run several times on one file)
37
+ - phrename: by-default now it scans several EXIF tags to retreive date-time creation info. If no tags are found - File ModifyDate (mtime) is used to rename file. See more details in `phrename -h`
38
+ - phrename becomes more informative: reports which EXIF tag was taken, or if the date-time in name was kept unchanged. This flow goes to STDERR to keep STDOUT clean
39
+ - phbackup now preserves FileModify dates
40
+ - internal improvements: switch to mini_exiftool gem, get rid of nesty gem (using standard Ruby _cause_ for Exceptions)
31
41
 
32
42
  ## [v0.6.0](https://github.com/andrewbiz/phtools/compare/v0.4.0...v0.6.0)
33
- * phmove: does not keep unused empty VIDEO and RAW folders
34
- * phrename: --clean option renames files back to original state
35
- * Added phbackup
36
43
 
44
+ - phmove: does not keep unused empty VIDEO and RAW folders
45
+ - phrename: --clean option renames files back to original state
46
+ - Added phbackup
37
47
 
38
48
  ## [v0.4.0](https://github.com/andrewbiz/phtools/compare/v0.3.0.pre.alpha...v0.4.0)
39
- * Added description to README.md
40
- * Changed phls - option -R instead of -r (ls compatibility)
41
- * Added phmove command
42
- * Added phrename command
49
+
50
+ - Added description to README.md
51
+ - Changed phls - option -R instead of -r (ls compatibility)
52
+ - Added phmove command
53
+ - Added phrename command
43
54
 
44
55
  ## [v0.3.0.pre.alpha](https://github.com/andrewbiz/phtools/compare/v0.2.4...v0.3.0.pre.alpha)
45
56
 
46
- * Improved phls - now it supports DIRs and FILEMASKs parameters
47
- * Added aruba (cucumber) tests for phls
57
+ - Improved phls - now it supports DIRs and FILEMASKs parameters
58
+ - Added aruba (cucumber) tests for phls
data/README.md CHANGED
@@ -8,14 +8,14 @@ A bundle of small CLI tools for arranging, renaming, tagging of the photo and vi
8
8
 
9
9
  PHTOOLS is an instrument intended for photographers\photo enthusiasts who:
10
10
 
11
- * own tons of photo-video files and want to keep it in order
12
- * really don't like the way how digital cameras name the files: P1193691.JPG, IMP\_1409.JPG, \_DSC1459.ARW etc.
13
- * for photo storage prefer usage of traditional File System \(folder structure\) instead of "black box" databases of media managers \(like iPhoto, Photoshop etc.\)
14
- * would like to have date-time-original info in the name of the file
15
- * expects that sorting folder content "by name" will arrange photo-video assets in chronological order
16
- * for some events \(wedding, holydays etc.\) have photos from different authors and would like to keep visible author name \(nik\) in the file name
17
- * appreciate the use of internal metadata \(EXIF, XMP etc.\) beleiving it is the best way to keep context info of the picture
18
- * are Ok with the use of Command Line tools
11
+ - own tons of photo-video files and want to keep it in order
12
+ - really don't like the way how digital cameras name the files: P1193691.JPG, IMP_1409.JPG, \_DSC1459.ARW etc.
13
+ - for photo storage prefer usage of traditional File System \(folder structure\) instead of "black box" databases of media managers \(like iPhoto, Photoshop etc.\)
14
+ - would like to have date-time-original info in the name of the file
15
+ - expects that sorting folder content "by name" will arrange photo-video assets in chronological order
16
+ - for some events \(wedding, holydays etc.\) have photos from different authors and would like to keep visible author name \(nik\) in the file name
17
+ - appreciate the use of internal metadata \(EXIF, XMP etc.\) beleiving it is the best way to keep context info of the picture
18
+ - are Ok with the use of Command Line tools
19
19
 
20
20
  ---
21
21
 
@@ -23,7 +23,7 @@ PHTOOLS is an instrument intended for photographers\photo enthusiasts who:
23
23
 
24
24
  ### Install for usage
25
25
 
26
- 1. Get the latest [ruby](https://www.ruby-lang.org/) \(>= 2.4\) installed.
26
+ 1. Get the latest [ruby](https://www.ruby-lang.org/) \(>= 3.0\) installed.
27
27
  2. Install ExifTool by Phil Harvey \([http://www.sno.phy.queensu.ca/~phil/exiftool/](http://www.sno.phy.queensu.ca/~phil/exiftool/)\).
28
28
  3. `gem install phtools`
29
29
  4. Get list of phtools: `phtools`
@@ -32,7 +32,12 @@ PHTOOLS is an instrument intended for photographers\photo enthusiasts who:
32
32
  ### Install for development
33
33
 
34
34
  1. Fork or download from GitHub.
35
- 2. Install dependencies: `bundle install`
35
+ 2. Install dependencies:
36
+
37
+ ```sh
38
+ bundle install
39
+ ```
40
+
36
41
  3. Develop.
37
42
  4. Test:
38
43
  ```sh
@@ -40,11 +45,6 @@ PHTOOLS is an instrument intended for photographers\photo enthusiasts who:
40
45
  bundle exec cucumber
41
46
  ```
42
47
 
43
- ... or do testing automatically to get real Test Driven Development:
44
- ```sh
45
- bundle exec guard
46
- ```
47
-
48
48
  ---
49
49
 
50
50
  ## PHTOOLS Use cases
@@ -191,4 +191,3 @@ PHTOOLS standard file name looks like this: `YYYYmmdd-HHMMSS_AAA ORIGINAL.EXT`,
191
191
 
192
192
  For example, the digital camera photo file `P1193691.JPG`, taken by AndrewBiz \(aka ANB\), after PHTOOLS processing will look like:
193
193
  `20160902-174939_ANB P1193691.JPG`
194
-
@@ -6,3 +6,11 @@
6
6
  5. Update History.md
7
7
  6. Update README.md
8
8
  7. `rake release`
9
+
10
+
11
+ # Manual gem release
12
+ 1. Develop, test, document
13
+ 2. gem build phtools.gemspec
14
+ 3. install locally (if needed): gem install phtools
15
+ 4. publish to rubygems.org: gem push phtools-x.xx.x.gem
16
+ 5. don't forget to remove local phtools-x.xx.x.gem file
@@ -3,7 +3,8 @@
3
3
  # encoding: UTF-8
4
4
  # (c) ANB Andrew Bizyaev
5
5
 
6
- require 'active_support/core_ext'
6
+ require 'active_support/core_ext/string/inflections'
7
+
7
8
  require 'mini_exiftool'
8
9
 
9
10
  module ExifTagger
@@ -4,7 +4,7 @@
4
4
 
5
5
  # (c) ANB Andrew Bizyaev
6
6
 
7
- RUBY_VERSION_WANTED = '2.4.0'
7
+ RUBY_VERSION_WANTED = '3.0.0'
8
8
 
9
9
  begin
10
10
  fail "Ruby version must be >= #{RUBY_VERSION_WANTED}" if
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PhTools
4
- VERSION = '0.16.1'
4
+ VERSION = '0.17.0'
5
5
  end
data/phtools.gemspec CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
- spec.required_ruby_version = '>= 2.0.0'
25
+ spec.required_ruby_version = '>= 3.0.0'
26
26
 
27
27
  spec.add_development_dependency 'bundler'#, '~> 2.0'
28
28
  spec.add_development_dependency 'rake', '~> 10.0'
@@ -31,11 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_development_dependency 'cucumber', '~> 2.0'
32
32
  spec.add_development_dependency 'aruba', '~> 0.14'
33
33
  spec.add_development_dependency 'fuubar'
34
- spec.add_development_dependency 'guard'
35
- spec.add_development_dependency 'guard-rspec'
36
- spec.add_development_dependency 'guard-cucumber'
37
34
  spec.add_development_dependency 'pry'
38
- spec.add_development_dependency 'bigdecimal', '1.3.5'
39
35
 
40
36
  if RbConfig::CONFIG['target_os'] =~ /darwin/i
41
37
  spec.add_development_dependency 'terminal-notifier-guard'
@@ -48,9 +44,8 @@ Gem::Specification.new do |spec|
48
44
 
49
45
  spec.add_runtime_dependency 'docopt', '~> 0.5'
50
46
  spec.add_runtime_dependency 'mini_exiftool', '~> 2.8'
51
- spec.add_runtime_dependency 'activesupport', '~> 3.2'
47
+ spec.add_runtime_dependency 'activesupport', '~> 5.0'
52
48
  spec.add_runtime_dependency 'i18n'
53
- spec.add_runtime_dependency 'bigdecimal', '1.3.5'
54
49
 
55
50
  spec.post_install_message = %Q{***\n Thanks for installing phtools! Don't forget to get the ExifTool by Phil Harvey (http://www.sno.phy.queensu.ca/~phil/exiftool/) installed on your system.\n***}
56
51
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phtools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.1
4
+ version: 0.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Bizyaev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-06 00:00:00.000000000 Z
11
+ date: 2024-03-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -108,48 +108,6 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: guard
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: guard-rspec
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: guard-cucumber
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
111
  - !ruby/object:Gem::Dependency
154
112
  name: pry
155
113
  requirement: !ruby/object:Gem::Requirement
@@ -164,20 +122,6 @@ dependencies:
164
122
  - - ">="
165
123
  - !ruby/object:Gem::Version
166
124
  version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: bigdecimal
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - '='
172
- - !ruby/object:Gem::Version
173
- version: 1.3.5
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - '='
179
- - !ruby/object:Gem::Version
180
- version: 1.3.5
181
125
  - !ruby/object:Gem::Dependency
182
126
  name: terminal-notifier-guard
183
127
  requirement: !ruby/object:Gem::Requirement
@@ -226,14 +170,14 @@ dependencies:
226
170
  requirements:
227
171
  - - "~>"
228
172
  - !ruby/object:Gem::Version
229
- version: '3.2'
173
+ version: '5.0'
230
174
  type: :runtime
231
175
  prerelease: false
232
176
  version_requirements: !ruby/object:Gem::Requirement
233
177
  requirements:
234
178
  - - "~>"
235
179
  - !ruby/object:Gem::Version
236
- version: '3.2'
180
+ version: '5.0'
237
181
  - !ruby/object:Gem::Dependency
238
182
  name: i18n
239
183
  requirement: !ruby/object:Gem::Requirement
@@ -248,20 +192,6 @@ dependencies:
248
192
  - - ">="
249
193
  - !ruby/object:Gem::Version
250
194
  version: '0'
251
- - !ruby/object:Gem::Dependency
252
- name: bigdecimal
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - '='
256
- - !ruby/object:Gem::Version
257
- version: 1.3.5
258
- type: :runtime
259
- prerelease: false
260
- version_requirements: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - '='
263
- - !ruby/object:Gem::Version
264
- version: 1.3.5
265
195
  description: A bundle of small CLI tools for arranging, renaming, tagging of the photo
266
196
  and video files. Helps to keep your photo-video assets in order.
267
197
  email:
@@ -365,7 +295,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
365
295
  requirements:
366
296
  - - ">="
367
297
  - !ruby/object:Gem::Version
368
- version: 2.0.0
298
+ version: 3.0.0
369
299
  required_rubygems_version: !ruby/object:Gem::Requirement
370
300
  requirements:
371
301
  - - ">="
@@ -373,7 +303,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
373
303
  version: '0'
374
304
  requirements:
375
305
  - ExifTool by Phil Harvey (http://www.sno.phy.queensu.ca/~phil/exiftool/)
376
- rubygems_version: 3.1.4
306
+ rubygems_version: 3.5.5
377
307
  signing_key:
378
308
  specification_version: 4
379
309
  summary: A set of usefull tools to manipulate photo-video files.