class Biblionet::Extractors::BibliographicalBookExtractor

Attributes

bibliographical_book[R]

Public Class Methods

new(uri=nil) click to toggle source
Calls superclass method Biblionet::Extractors::Base::new
# File lib/bookshark/extractors/bibliographical_book_extractor.rb, line 13
def initialize(uri=nil)
  super(uri)
  extract_bibliographical_book unless uri.nil? or @page.nil?
end

Public Instance Methods

extract_bibliographical_book(biblionet_id=@biblionet_id, book_page=@page) click to toggle source
# File lib/bookshark/extractors/bibliographical_book_extractor.rb, line 23
def extract_bibliographical_book(biblionet_id=@biblionet_id, book_page=@page)
  # log = Logger.new(File.new(File.dirname(__dir__).to_s + "/logs/book_parsing.log",'a+'))
  log = Logger.new(STDOUT)

  page = BibliographicalBookDataExtractor.new(book_page)

  # End extraction if BookDataExtractor couldnt create a nodeset
  return nil if page.nodeset.nil?

  bibliographical_book_hash = Hash.new

  extracted_details = page.details

  bibliographical_book_hash[:original_language] = extracted_details[:original_language]
  bibliographical_book_hash[:original_title]    = extracted_details[:original_title]
  bibliographical_book_hash[:last_update]       = extracted_details[:last_update]
  bibliographical_book_hash[:cover_type]        = extracted_details[:cover_type]
  bibliographical_book_hash[:availability]      = extracted_details[:availability]
  bibliographical_book_hash[:price]             = extracted_details[:price]

  bibliographical_book_hash[:series]            = extracted_details[:series]
  bibliographical_book_hash[:physical_size]     = extracted_details[:physical_size]

  bibliographical_book_hash[:format]            = extracted_details[:format]

  bibliographical_book_hash[:publisher]         = extracted_details[:publisher]
  bibliographical_book_hash[:publication]       = extracted_details[:publication]

  return @bibliographical_book = bibliographical_book_hash
end
load_and_extract_book(uri=nil) click to toggle source
# File lib/bookshark/extractors/bibliographical_book_extractor.rb, line 18
def load_and_extract_book(uri=nil)
  load_page(uri)
  extract_bibliographical_book unless uri.nil? or @page.nil?
end