Class: Catalogage::Etape::Application

Inherits:
Object
  • Object
show all
Defined in:
lib/images/catalogage/etape/application.rb

Instance Method Summary collapse

Constructor Details

#initialize(exif_manipulateur) ⇒ Application

Returns a new instance of Application.



6
7
8
9
# File 'lib/images/catalogage/etape/application.rb', line 6

def initialize(exif_manipulateur)
  @exif_manipulateur = exif_manipulateur
  @log = Logging.logger["Application"]
end

Instance Method Details

#applique(fichiers_par_dossier, destination) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/images/catalogage/etape/application.rb', line 11

def applique(fichiers_par_dossier, destination)
  fichiers_par_dossier.each_pair do |dossier, fichiers|
    @log.debug "Application sur le dossier '#{dossier}'"
    destination_par_dossier = "#{destination}/#{dossier}"
    @log.info "destination '#{destination_par_dossier}'"
    fichiers.each do |fichier|
      @log.debug "Application sur le fichier '#{fichier.path}'"
      @exif_manipulateur.set_datetimeoriginal(fichier.path, fichier.date_extraite) unless fichier.exif
      nouveau_nom = fichier.path_nouveau_nom(File.dirname(fichier.path))
      File.rename(fichier.path, nouveau_nom)
      FileUtils.mkdir_p(destination_par_dossier)
      FileUtils.move(nouveau_nom, fichier.path_nouveau_nom(destination_par_dossier))
    end
  end
end