Class: Klear::FileGenerator
- Inherits:
-
Object
- Object
- Klear::FileGenerator
- Includes:
- Java
- Defined in:
- lib/klear/file_generator.rb
Overview
TODO maybe use Zip::ZipOutputStream for generating the zip first in-memory? TODO extract java/jruby specific stuff
Instance Method Summary collapse
- #generate(thePngPath, theKleFile) ⇒ Object
-
#initialize(options = {}) ⇒ FileGenerator
constructor
A new instance of FileGenerator.
- #load ⇒ Object
- #regenerate(theKleFile) ⇒ Object
- #report ⇒ Object
- #write ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ FileGenerator
Returns a new instance of FileGenerator.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/klear/file_generator.rb', line 6 def initialize = {} @png_path = nil @kle_path = nil @fps = 25 if .has_key? :fps @fps = [:fps] end @gamma = 1.0 if .has_key? :gamma @gamma = [:gamma] end @geometry = nil @raw_frame_values = [] @kle_file = nil @silent = true if .has_key? :silent @silent = !![:silent] end end |
Instance Method Details
#generate(thePngPath, theKleFile) ⇒ Object
60 61 62 63 64 65 66 67 68 |
# File 'lib/klear/file_generator.rb', line 60 def generate thePngPath, theKleFile @png_path = thePngPath @kle_path = theKleFile if File.exists? @kle_path raise "File #{@kle_path} already exists" end write report end |
#load ⇒ Object
26 27 28 29 30 |
# File 'lib/klear/file_generator.rb', line 26 def load Zip::ZipFile.open(@kle_path) { |kle| @kle_file = kle } end |
#regenerate(theKleFile) ⇒ Object
86 87 88 89 90 |
# File 'lib/klear/file_generator.rb', line 86 def regenerate theKleFile @kle_path = theKleFile load regenerate_cache end |
#report ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/klear/file_generator.rb', line 70 def report report = <<-REPORT Input Directory : '#{@png_path}' Output KleFile : '#{@kle_path}' Details: * number of [png files|frames]: #{@kle_file.dir.entries("/frames").size} * fps: #{@fps} * gamma : #{@gamma} * geometry : #{@geometry} REPORT puts report if !@silent end |
#write ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/klear/file_generator.rb', line 32 def write Zip::ZipFile.open(@kle_path, Zip::ZipFile::CREATE) { |kle| @kle_file = kle add_pngs regenerate_cache # Meta kle.mkdir('META-INF') kle.file.open("META-INF/MANIFEST.MF", "w") do |os| os.write <<-MANIFEST Manifest-Version: 1.0 Kle-Version: 1.0 Created-By: #{__FILE__} (#{Klear::VERSION}) Generated-At: #{Time.now} MANIFEST end kle.file.open("META-INF/kle.yml", "w") { |os| os.write({ "geometry" => @geometry, "gamma" => @gamma, "fps" => @fps }.to_yaml) } } end |