Add some more useful error messages in the common situations (file doesn't exist, isn't a sqlite db)

master
Jeff Dallien 2012-02-22 19:33:25 -05:00
parent 7e9e160f17
commit 58775f8e06
2 changed files with 16 additions and 4 deletions

View File

@ -4,9 +4,19 @@ require File.expand_path(File.join(File.dirname(__FILE__), "..", "lib", "cookie_
# TODO: Locate cookie dbs automatically
filename = ARGV.first
if filename
extractor = CookieExtractor::BrowserDetector.new_extractor(filename)
puts extractor.extract.join("\n")
else
unless filename
puts "Usage: cookie_extractor /path/to/cookies.sqlite"
exit
end
if File.exists?(filename)
begin
extractor = CookieExtractor::BrowserDetector.new_extractor(filename)
puts extractor.extract.join("\n")
rescue SQLite3::NotADatabaseException,
CookieExtractor::BrowserNotDetectedException
puts "Error: File '#{filename}' is not a Firefox or Chrome cookie database"
end
else
puts "Error: File '#{filename}' does not exist"
end

View File

@ -1,4 +1,6 @@
module CookieExtractor
class BrowserNotDetectedException < Exception; end
class BrowserDetector
def self.new_extractor(db_filename)