require 'nokogiri'
require 'zip'
-require './author'
-require './cover'
+require 'author'
+require 'cover'
class Book
def initialize(fileName)
return false
end
+ def cover
+ return @cover
+ end
+
+ def describe
+ result = []
+
+ if nil != @title
+ result.push('<b>' + @title + '</b>')
+ else
+ result.push('<i>(Unknown title)</i>')
+ end
+ if nil != @author
+ result.push(@author.to_s())
+ end
+
+ seriesInfo = []
+ if nil != @series
+ seriesInfo.push(@series.to_s)
+ end
+ if nil != @volume
+ seriesInfo.push(@volume.to_s)
+ end
+ if seriesInfo.length > 0
+ result.push(seriesInfo.join(' '))
+ end
+
+ return result.join('<br/>')
+ end
+
def inspect
data = []
if nil != @author
protected
def scanEpub!(fileName)
+ puts 'Scanning "' + fileName.to_s + '"...'
Zip::File.open(fileName) do |zipfile|
contXml = zipfile.read('META-INF/container.xml')
contDoc = Nokogiri::XML(contXml)