Start support for reading data back from the database.
[quanlib.git] / main.rb
diff --git a/main.rb b/main.rb
index 2d7f68b25c33c6bf45dbb0e909e17e3146f53e5b..596e11ff526fec0f09227bda8bcad927ab163180 100644 (file)
--- a/main.rb
+++ b/main.rb
@@ -1,3 +1,4 @@
+require 'store'
 require 'walkdir'
 
 outputDir = 'output'
@@ -5,11 +6,34 @@ outputDir = 'output'
 books = []
 imageCount = 0
 
+def handleArg(arg)
+  if "--purge" == arg
+    puts 'Purging database...'
+    @store.dropSchema()
+  elsif arg.start_with?("--")
+    abort('ERROR:  Unrecognized option "' + arg + '".')
+  end
+end
+
+@store = Store.new()
+@store.connect()
+
+for arg in ARGV
+  handleArg(arg)
+end
+
+@store.init_db()
+
 for arg in ARGV
-  w = WalkDir.new(arg)
-  books += (w.books)
+  if ! arg.start_with?("--")
+    puts 'Scanning directory "' + arg + '"...'
+    w = WalkDir.new(@store, arg)
+    books += (w.books)
+  end
 end
 
+puts 'Creating output...'
+
 if ! Dir.exist?(outputDir)
   Dir.mkdir(outputDir)
 end
@@ -40,7 +64,7 @@ open(outputDir + '/index.html', 'w') do |fd|
     image = nil
     if nil != book.cover
       imageCount += 1
-      (path, mimeType) = book.cover.writeImage(outputDir, 'image' + imageCount.to_s)
+      (path, mimeType) = book.cover.write_image(outputDir, 'image' + imageCount.to_s)
       image = '<img height="200px" src="' + path + '"/>'
     else
       image = '(No cover image)'
@@ -65,3 +89,4 @@ open(outputDir + '/index.html', 'w') do |fd|
   fd.puts "</html>"
 end
 
+@store.disconnect()