jon 1.0.0 → 1.0.1

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
  SHA256:
3
- metadata.gz: 880c52018870d05e4d10fd370690086f86eef18ff326bd8fbe1e910f1c4334c9
4
- data.tar.gz: 3c558c63986bbba5ac7415e0bb17ac590d75e8d52389f46f76d7a3d3420f3fa8
3
+ metadata.gz: ded42d9bcda3f4e950101e4d9aae358d960e7ede0e1f9e31c0dd4481acd08b7a
4
+ data.tar.gz: 5a078031a278f7d598f247f6332d50998b8e6c52a092475b876805b49421c473
5
5
  SHA512:
6
- metadata.gz: 2aec4de1e112fff7d879c4911a0228b2535d61ddef92346d4b77c4b1d88ea56eebf396ef6246c080f8e667b9e117eeeec891facf984baef3e369962d6e53b97b
7
- data.tar.gz: 4eb453336031ec0b6a35eb2f7fb39bf7b4a0d6c05ab99479d53794067bed7f9e20095ba5698d17e3aa78637a3f0b774cfe9fe15ab02e14890e202fbe1e091e48
6
+ metadata.gz: ed541ff377f703f799165d519244a83158bbe2dc5f38febaf28ccf7240fba8287388ee7a79ccd79b6b9fb34e4b8f22ae81296b99b4d20fef604fe8b93d9adafa
7
+ data.tar.gz: 046de96b0779bd8199aaca463818fe67e80e9e1c62eeae86cb0935078b5d7cd740b3b27c21bbcff0fdca2581cb969afa6232e51ea9b9d6a78f2b5e08e41d4684
data/.rspec CHANGED
File without changes
data/.rubocop.yml CHANGED
File without changes
data/Gemfile CHANGED
File without changes
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jon (1.0.0)
4
+ jon (1.0.1)
5
5
  logging (~> 2.3.0)
6
6
  mini_exiftool_vendored (~> 9.2.7.v1)
7
7
 
data/README.md CHANGED
@@ -1,5 +1,81 @@
1
1
  # Jon
2
2
 
3
+ Jon est une library permettant d'outiller un workflow de gestion d'une photothéque. Actuellement la library défini deux workflow :
4
+
5
+ * Restore : Permet de restaurer un dossier, renommage et appliquer les metadata de date manquante
6
+ * Catalog : Permet de cataloguer des photos en les renommant, définissant dans un dossier avec l'arborescence année/mois/extension (ex: 2021/01/JPG). Pour ensuite les copier vers un dossier de destination
7
+
8
+ ## Usage
9
+
10
+ La restauration est un process parcourant tout les fichiers d'un dossier source
11
+ ``` ruby
12
+ require "images/restauration/etape/analyse"
13
+ require "images/restauration/etape/application"
14
+ require "images/restauration/etape/traitement_dossier_extirpable"
15
+ require "images/restauration/etape/traitement_dossier_non_extirpable"
16
+ require "images/restauration/restore"
17
+
18
+ path_dossier = "/vault"
19
+ apply = true
20
+
21
+ Restauration::Restore.new(
22
+ Restauration::Etape::Analyse.new(ExtracteurParDate.new),
23
+ Restauration::Etape::TraitementDossierExtirpable.new(ExtracteurParDate.new),
24
+ Restauration::Etape::TraitementDossierNonExtirpable.new,
25
+ Restauration::Etape::Application.new(MiniExiftoolManipulateur.new)
26
+ ).process(path_dossier, apply)
27
+
28
+ ```
29
+ Le catalogage est un processus parcourants les fichiers d'un dossier source
30
+ ``` ruby
31
+ require "images/catalogage/etape/analyse"
32
+ require "images/catalogage/etape/application"
33
+ require "images/catalogage/etape/nom_attribuer"
34
+ require "images/catalogage/etape/verificateur"
35
+ require "images/catalogage/catalog"
36
+
37
+ path_dossier = "/camera"
38
+ apply = true
39
+ destination = "/vault"
40
+
41
+ Catalogage::Catalog.new(
42
+ Catalogage::Etape::Analyse.new(ExtracteurParDate.new, MiniExiftoolManipulateur.new),
43
+ Catalogage::Etape::NomAttribuer.new,
44
+ Catalogage::Etape::Application.new(MiniExiftoolManipulateur.new),
45
+ Catalogage::Etape::Verificateur.new
46
+ ).process(path_dossier, apply, destination)
47
+
48
+ ```
49
+
50
+ L'extracteur permet d'extraire une date du nom de fichier [voir](lib/images/extraction/extracteur_par_date.rb) différent format de fichier son pris en compte
51
+
52
+ ``` ruby
53
+ require "images/extraction/extracteur_par_date"
54
+
55
+ extracteur = ExtracteurParDate.new
56
+
57
+ nom = "20151231_155723_011"
58
+
59
+ extracteur.extraction_du(nom) # DateTime.new(2015, 12, 31, 15, 57, 23)
60
+ extracteur.extirpabilite(nom) # true
61
+ ```
62
+
63
+ ExifManipulateur permet de manipuler les metadatas des fichiers
64
+
65
+ ``` ruby
66
+ require "images/exif/mini_exiftool_manipulateur"
67
+
68
+ exif_manipulateur = MiniExiftoolManipulateur.new
69
+
70
+ fichier = File.new("./photo_2021_12_25-15_52_17.jpg")
71
+ datetimeoriginal = DateTime.new(2020, 2, 1, 1, 1, 1)
72
+
73
+ exif_manipulateur.set_datetimeoriginal(fichier, datetimeoriginal) # date_time_original : 2021:12:25 15:52:17
74
+ exif_manipulateur.get_datetimeoriginal(fichier) # DateTime.new(2021, 12, 25, 15, 52, 17)
75
+ exif_manipulateur.datetimeoriginal?(fichier) # true
76
+
77
+ ```
78
+
3
79
  ## Installation
4
80
 
5
81
  Exécuter :
data/Rakefile CHANGED
File without changes
data/jon.gemspec CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -7,7 +7,7 @@ module Classification
7
7
  OTHER = "other"
8
8
 
9
9
  EXTENSIONS_PAR_PREFIXE = {
10
- /jpg|jpeg|png|raw/ => PHOTO,
10
+ /jpg|jpeg|png|arw/ => PHOTO,
11
11
  /mp4|mov/ => VIDEO
12
12
  }.freeze
13
13
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
data/lib/jon/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Jon
4
- VERSION = "1.0.0"
4
+ VERSION = "1.0.1"
5
5
  end
data/sig/jon.rbs CHANGED
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jon
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - JordanC0TT
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-30 00:00:00.000000000 Z
11
+ date: 2022-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: debase
@@ -191,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
191
  - !ruby/object:Gem::Version
192
192
  version: '0'
193
193
  requirements: []
194
- rubygems_version: 3.1.4
194
+ rubygems_version: 3.1.6
195
195
  signing_key:
196
196
  specification_version: 4
197
197
  summary: Catalogue des fichiers