Sha256: 95a1f4ecc13418813c2117085c09a3ef6fa4c210a288038803e9dc011fb2499f

Contents?: true

Size: 1.7 KB

Versions: 1

Compression:

Stored size: 1.7 KB

Contents

#! /usr/local/bin/ruby
# last-modified: 2014/07/04 09:44:01.

# Nikon NEF ファイルの撮影日時をファイル名の先頭に付加する。


#NEF_DIR_PREFIX = "#{ENV["HOME"]}/image/photo/undone"
#NEF_DIR_PREFIX = "."
#TIME_FORMAT = "%Y/%m/%d/%H%M%S_"
TIME_FORMAT = "%Y__%m__%d__%H%M%S_"

require "pp"
require "rubygems"

gem "exifr"
require "exifr"

gem "filerenamer"
require "filerenamer.rb"

gem "imagut"
require "imagut/nefparser.rb"

op = FileRenamer::OptionParser.new
op.parse!(ARGV)

fr = FileRenamer::Commander.new(op.options, ARGV)
np = NefParser.new
fr.execute do |filename|
  #new_name = ""

  dirname = File.dirname filename
  basename = File.basename filename

  if File.extname(filename) =~ /^\.nef$/i
    begin
      str = File.open(filename, "r").read(391)
      date = np.taken_date(str)
      new_name = dirname + "/" + date.strftime(TIME_FORMAT) + basename
      new_name.sub!(/\.NEF$/, ".nef")
        #new_name = date.strftime("%Y/%m/%d/") + filename
        # 秒までだと、連写したときに重複ファイル名になりうる。
        # 何枚目かだけだと、1日の途中でメモリカードを交換したときに
        # 重複して順番が滅茶苦茶になる。
        # このプログラムを使用した後、更に適当にリネームすることを想定。
    rescue NefParserNotNefError
      new_name = nil
    end
  elsif File.extname(filename) =~ /^\.jpg$/i
    date = EXIFR::JPEG.new(filename).date_time
    #new_name = (NEF_DIR_PREFIX + "/" + date.strftime(TIME_FORMAT) + filename)
    new_name = dirname + "/" + date.strftime(TIME_FORMAT) + basename
    new_name.sub!(/\.JPG$/, ".jpg")
  else
    #puts "Unknown format. Next."
    new_name = nil
  end
  new_name
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
imagut-0.0.4 bin/renphoto