Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Kindle Clippings to MongoDB
require 'rubygems'
require 'kindleclippings'
require 'mongo'
require 'digest/md5'
parser = KindleClippings::Parser.new
clippings = parser.parse_file('./My Clippings.txt')
connection = Mongo::Connection.new("localhost")
db = connection.db("kindle")
coll = db.collection("clippings")
clippings.each do |clipping|
hash = {}
clipping.instance_variables.each do |var|
hash[var.to_s.delete("@")] = clipping.instance_variable_get(var).to_s
hash['checksum'] = Digest::MD5.hexdigest( clipping.book_title.to_s + clipping.content.to_s )
end
coll.insert( hash) unless coll.find_one({ :checksum => hash['checksum'] } )
end
@dramalho

This comment has been minimized.

Copy link
Owner Author

@dramalho dramalho commented Jul 17, 2012

Now with collision detection

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.