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