Class: AstroSubframeOrganizer::Commands::Raw::RenameFromExif

Inherits:
Dry::CLI::Command
  • Object
show all
Includes:
SharedOptions, Logging
Defined in:
lib/astro_subframe_organizer/commands/raw/rename_from_exif.rb

Instance Method Summary collapse

Methods included from SharedOptions

included, #setup

Methods included from Logging

#logger

Instance Method Details

#call(type:, dry_run: false, path: Dir.pwd, target: nil, **options) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/astro_subframe_organizer/commands/raw/rename_from_exif.rb', line 25

def call(type:, dry_run: false, path: Dir.pwd, target: nil, **options)
  setup(**options.slice(:config, :verbose, :skip_confirm))

  if type == Astrophoto::LIGHT && target.nil?
    logger.error 'A --target is required for light frames.'
    exit 1
  end

  renamer = AstroSubframeOrganizer::Utils::ExifRenamer.new(path)

  if renamer.already_named?(renamer.find_cr2_files)
    logger.warn 'Files appear to already be renamed. Use --force to rename anyway.'
    exit 0
  end

  renamer.rename(type: type, target: target, dry_run: dry_run)
end