attr_accessor :classification_id
attr_accessor :cover
attr_accessor :description
+ attr_accessor :language
attr_accessor :path
attr_accessor :series_id
attr_accessor :title
end
end
+ #---------------------------------------
+ # Language
+
+ langNodes = opfDoc.css('dc|language', 'dc' => @@DC_NS_URL)
+ if (langNodes.length > 0)
+ langNode = langNodes[0]
+ if langNode
+ @language = langNode.content
+ end
+ end
+
#---------------------------------------
# Other metadata: series, volume, cover
author INTEGER REFERENCES Authors(id),
classification INTEGER REFERENCES Classifications(id),
cover INTEGER,
+ language VARCHAR(64),
description TEXT,
path VARCHAR(256),
series INTEGER REFERENCES Series(id),
end
def load_book(id)
- sql = "SELECT author, classification, cover, description, path, series, title, volume FROM Books WHERE id=$1;"
+ sql = "SELECT author, classification, cover, description, language, path, series, title, volume FROM Books WHERE id=$1;"
book = nil
begin
book.classification_id = row['classification']
book.cover = load_cover(row['cover'])
book.description = row['description']
+ book.language = row['language']
book.path = row['path']
book.series_id = row['series']
book.title = row['title']
end
def store_book(book)
- sql = "INSERT INTO Books (id, author, classification, cover, description, path, series, title, volume) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9);"
+ sql = "INSERT INTO Books (id, author, classification, cover, description, language, path, series, title, volume) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10);"
book_id = next_id('book_id')
author_id = store_author(book.author)
(efs_id, mime_type) = store_cover(book)
- args = [book_id, author_id, book.classification_id, efs_id, book.description(), book.path(), book.series_id(), book.title(), book.volume()]
+ args = [book_id, author_id, book.classification_id, efs_id, book.description, book.language, book.path, book.series_id, book.title, book.volume]
begin
rs = @conn.exec_params(sql, args)