Sha256: d87654256ade94ef2b39994bf7cd253402ddb0aaef1a6e90ddc2492ab26882c3

Contents?: true

Size: 1.52 KB

Versions: 1

Compression:

Stored size: 1.52 KB

Contents

#! /usr/local/bin/ruby
# last-modified: 2012/08/31 23:56:49.

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


NEF_DIR_PREFIX = "#{ENV["HOME"]}/image/photo/undone"


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|
  #pp filename
  new_name = ""
  #pp File.extname(filename)
  #exit

  if File.extname(filename) =~ /^\.nef$/i
    begin
      str = File.open(filename, "r").read(391)
      date = np.taken_date(str)
      new_name = (NEF_DIR_PREFIX + date.strftime("/%Y/%m/%d/%H%M%S_") + filename)
      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("/%Y/%m/%d/%H%M%S_") + filename)
    new_name.sub!(/\.JPG$/, ".jpg")
  else
    puts "Unknown format. Next."
  end
  new_name
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
imagut-0.0.2 bin/importphoto