Sha256: 3a5869277cdfc04822b4655a06cc45f345b2c52c3539a57b85ef02b94a7ba57e
Contents?: true
Size: 1.38 KB
Versions: 1
Compression:
Stored size: 1.38 KB
Contents
#!/usr/bin/env ruby require 'optparse' require 'geohydra' class ExtractThumbnail < GeoHydra::Process def do_file fn, flags if fn =~ %r{^(.*)\.(shp|tif)\.xml$}i puts "Processing #{fn} for JPEG" if flags[:verbose] GeoHydra::Transform.extract_thumbnail fn, File.join(File.dirname(fn), 'preview.jpg') else raise OptionParser::InvalidOption, "File <#{fn}> is not ESRI metadata format" end end def run(args) flags = { :datadir => '.', :recurse => false, :verbose => false } optparse = OptionParser.new do |opts| opts.banner = <<EOM Usage: #{File.basename(__FILE__)} [options] [fn [fn...]] EOM opts.on("-d", "--dir DIR", "Process all files in DIR (default: #{flags[:datadir]})") do |v| flags[:datadir] = v end opts.on("-r", "--recursive", "Process all files recurvisely") do |v| flags[:recurse] = true end opts.on("-v", "--verbose", "Run verbosely") do |v| flags[:verbose] = true end end optparse.parse!(args) if args.empty? raise OptionParser::InvalidOption, flags[:datadir] + ' not a directory' unless File.directory?(flags[:datadir]) Dir.glob(flags[:datadir] + (flags[:recurse] ? '/**/*.shp.xml' : '/*.shp.xml')).each {|fn| do_file fn, flags } else args.each {|fn| do_file fn, flags } end end end ExtractThumbnail.new.run(ARGV)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
geohydra-0.3.3 | bin/extract_thumbnail.rb |