Skip to content

Instantly share code, notes, and snippets.

@skillachie
Created September 29, 2012 05:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skillachie/3803275 to your computer and use it in GitHub Desktop.
Save skillachie/3803275 to your computer and use it in GitHub Desktop.
Example
#!/usr/bin/ruby
require 'rubygems'
require 'nokogiri'
require 'open-uri'
require 'image_sorcery'
require 'mini_magick'
# -- Obtain metainfo via 'fetch-ebook-meta'a
#NOTE cover image for books gets saved to the curent working directory of the script.
title = "The Pirate Shark"
ebook_meta = `fetch-ebook-metadata --title "#{title}" --opf metainfo.opf --cover cover_medium.jpg`
reader = Nokogiri::XML::Reader(ebook_meta)
# -- Hash to store bookinfo
book_info = Hash.new
reader.each do |node|
# -- Saves description
if node.name == "dc:description" && node.node_type == 1
book_info["description"] = node.inner_xml
end
# -- Saves Author
if node.name == "dc:creator" && node.node_type == 1
book_info["author"] = node.inner_xml
end
# -- Saves publisher
if node.name == "dc:publisher" && node.node_type == 1
book_info["publisher"] = node.inner_xml
end
# -- Saves date
if node.name == "dc:date" && node.node_type == 1
book_info["date"] = node.inner_xml
end
#puts node.name, node.inner_xml, node.node_type
end
p book_info
# -- Converts ebook cover obtained to standard size for index display(cover_thumb.jpg).
# -- Detail book description (when clicked for more information)will use cover_medium.jpg obtained by default
puts "Converting images to thumbs size ..."
thumb_image = MiniMagick::Image.open("cover_medium.jpg")
thumb_image.resize "100x120"
thumb_image.write "cover_thumb.jpg"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment