6 result = system(cmdline)
8 puts "FAILED: #{cmdline}"
13 def extract_epub(source_file, source_path, dest_path)
14 relative_path = source_file[source_path.length .. source_file.length]
15 dest_file = "#{dest_path}/#{relative_path}"
16 dest_file = dest_file[0 .. (dest_file.length - 6)] + ".txt"
18 required_path = Pathname(dest_file).dirname
19 unless File.directory? required_path
20 unless exec("mkdir -p #{required_path}")
25 if File.exist? dest_file
26 source_time = File.mtime source_file
27 dest_time = File.mtime dest_file
28 comp = dest_time <=> source_time
30 return true # Nothing to do, extraction is already up-to-date
34 exec("ebook-convert #{source_file} #{dest_file}")
37 def scan_dir(source_path, dest_path)
38 Find.find(source_path) do |f|
40 unless (f.match(/_bis.epub\Z/) || f.match(/_ter.epub\Z/) || f.match(/_quater.epub\Z/))
41 extract_epub(f, source_path, dest_path)
48 for arg in ARGV[1 .. ARGV.length]
49 scan_dir(arg, dest_path)