Start support for reading data back from the database.
[quanlib.git] / cover.rb
1
2 class Cover
3   def initialize(inputStream, path, mimeType)
4     @data = inputStream.read
5     @path = path
6     @mimeType = mimeType
7   end
8
9   def inspect
10     info = []
11     if nil != @data
12       info.push('size=' + @data.length.to_s)
13     else
14       info.push('empty')
15     end
16     if nil != @path
17       info.push('path="' + @path + '"')
18     end
19     if nil != @mimeType
20       info.push('mimeType="' + @mimeType + '"')
21     end
22     return '(Cover:' + info.join(',') + ')'
23   end
24
25   def read_image(filename)
26     open(filename, 'rb') do |fd|
27       @data = fd.read()
28     end
29   end
30
31   def to_s
32     return inspect
33   end
34
35   def write_image(outputDir, baseName)
36     filename = baseName + getExt()
37     open(outputDir + '/' + filename, 'wb') do |fd|
38       fd.write(@data)
39     end
40     return filename, @mimeType
41   end
42
43   protected
44   def getExt
45     pos = @path.rindex('.')
46     if nil == pos
47       return '.img'
48     end
49     return @path.slice(pos, @path.length)
50   end
51 end
52