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 = "\nInput Directory : '\#{@png_path}'\nOutput KleFile : '\#{@kle_path}'\n\nDetails:\n * number of [png files|frames]: \#{@kle_file.dir.entries(\"/frames\").size}\n * fps: \#{@fps}\n * gamma : \#{@gamma}\n * geometry : \#{@geometry}\n\n REPORT\n puts report if !@silent\nend\n" |
#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-Version: 1.0\n\nKle-Version: 1.0\nCreated-By: \#{__FILE__} (\#{Klear::VERSION})\nGenerated-At: \#{Time.now}\n\n MANIFEST\n end\n kle.file.open(\"META-INF/kle.yml\", \"w\") { |os|\n os.write({\n \"geometry\" => @geometry,\n \"gamma\" => @gamma,\n \"fps\" => @fps\n }.to_yaml)\n }\n }\nend\n" |