Add `arrived` attribute (file creation timestamp) to books table.
[quanlib.git] / main.rb
1 require_relative 'navigator'
2 require_relative 'page'
3 require_relative 'store'
4 require_relative 'walk_dir'
5
6 @outputDir = 'output'
7
8 @config_file = 'quanlib.ini'
9 @skip_class = false
10
11 def handleArg(arg)
12   if arg.start_with?("--config=")
13     @config_file = arg[9..-1]
14     puts 'Using config file "' + @config_file + '".'
15   elsif "--purge" == arg
16     puts 'Purging database...'
17     @store.dropSchema()
18     if File.exists?(@store.unclassified_csv)
19       File.delete(@store.unclassified_csv)
20     end
21   elsif "--skip-class" == arg
22     puts 'Skipping load of classification table.'
23     @skip_class = true
24   elsif arg.start_with?("--")
25     abort('ERROR:  Unrecognized option "' + arg + '".')
26   end
27 end
28
29 @store = Store.new(@config_file)
30 @store.connect()
31
32 for arg in ARGV
33   handleArg(arg)
34 end
35
36 @store.init_db(@skip_class)
37
38 for arg in ARGV
39   if ! arg.start_with?("--")
40     puts 'Scanning directory "' + arg + '"...'
41     w = WalkDir.new(@config_file, arg)
42     w.books
43   end
44 end
45
46 @store.cross_reference_lists
47
48 puts 'Creating output...'
49
50 navigator = Navigator.new(@store)
51 navigator.write_atoz_pages()
52 navigator.write_series_listing()
53 navigator.write_dewey()
54
55 @store.disconnect()
56