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 +4 -4
- data/History.md +37 -26
- data/README.md +15 -16
- data/extras/help-release.md +8 -0
- data/lib/phtools/exif_tagger/tags/_tag.rb +2 -1
- data/lib/phtools/utils/ruby_version.rb +1 -1
- data/lib/phtools/version.rb +1 -1
- data/phtools.gemspec +2 -7
- metadata +6 -76
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a270a3dd6c5abc76000e2ee147a557cf9c178e4ac553c37e663d7652fed11056
|
|
4
|
+
data.tar.gz: 91ea07d29d28afed37adeca86dec24a210903cc71a16efb5456ff715d69b5871
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
19
|
-
|
|
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
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
47
|
-
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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/) \(>=
|
|
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:
|
|
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
|
-
|
data/extras/help-release.md
CHANGED
|
@@ -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
|
data/lib/phtools/version.rb
CHANGED
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 = '>=
|
|
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', '~>
|
|
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.
|
|
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:
|
|
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: '
|
|
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: '
|
|
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:
|
|
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.
|
|
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.
|