aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v0/db_import.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v0/db_import.rb')
-rw-r--r--lib/sisu/v0/db_import.rb29
1 files changed, 21 insertions, 8 deletions
diff --git a/lib/sisu/v0/db_import.rb b/lib/sisu/v0/db_import.rb
index fde6b307..646ea176 100644
--- a/lib/sisu/v0/db_import.rb
+++ b/lib/sisu/v0/db_import.rb
@@ -63,6 +63,7 @@ module SiSU_DB_import
require "#{SiSU_lib}/db_columns"
require "#{SiSU_lib}/db_load_tuple"
require "#{SiSU_lib}/shared_html_lite"
+ #require 'sqlite3'
class Import < SiSU_DB_columns::Column_size
include SiSU_Param
include SiSU_Screen
@@ -86,11 +87,19 @@ module SiSU_DB_import
@col[:ocn]=''
@counter={}
sql='SELECT MAX(lid) FROM documents'
- @col[:lid]=@conn.execute( sql ) { |x| x.fetch_all.to_s.to_i }
- @col[:lid] ||=0
+ begin
+ @col[:lid] ||=0
+ @col[:lid]=@conn.execute( sql ) { |x| x.fetch_all.to_s.to_i }
+ rescue
+ end
+ @col[:lid] =0 if @col[:lid].nil? or @col[:lid].to_s.empty?
sql='SELECT MAX(nid) FROM endnotes'
- @id_n=@conn.execute( sql ) { |x| x.fetch_all.to_s.to_i }
- @id_n ||=0
+ begin
+ @id_n ||=0
+ @id_n=@conn.execute( sql ) { |x| x.fetch_all.to_s.to_i }
+ rescue
+ end
+ @id_n =0 if @col[:lid].nil? or @col[:lid].to_s.empty?
@col[:lv1]=@col[:lv2]=@col[:lv3]=@col[:lv4]=@col[:lv5]=@col[:lv6]=0
@db=SiSU_Env::Info_db.new
@@dl ||=SiSU_Env::Info_env.new.digest.length
@@ -107,7 +116,7 @@ module SiSU_DB_import
import_db_metadata(@dal_array)
import_documents(@dal_array)
import_db_urls(@dal_array,@fnm) #import OID on/off
- @conn.commit #sqlite watch
+ #@conn.commit #sqlite watch
else
file_exist=@conn.select_one(%{ SELECT metadata.tid FROM metadata WHERE metadata.filename ~ '#{@opt.fns}'; })
unless file_exist
@@ -152,9 +161,13 @@ module SiSU_DB_import
special_character_escape(@tp[:title])
@tp[:title_f],@tp[:title_i]='title, ',"'#{@tp[:title]}', "
sql='SELECT MAX(tid) FROM metadata'
- id_t=@conn.execute( sql ) { |x| x.fetch_all.to_s.to_i }
- @@id_t=id_t if id_t
- @@id_t ||=0
+ begin
+ @@id_t ||=0
+ id_t=@conn.execute( sql ) { |x| x.fetch_all.to_s.to_i }
+ @@id_t=id_t if id_t
+ rescue
+ end
+ @@id_t =0 if @col[:lid].nil? or @col[:lid].to_s.empty?
@@id_t+=1 #bug related, needs to be performed once at start of file, but consider moving, as, placed here it means program will fail if document header lacks 0~title
puts %{\n#{@cX.grey}Processing file number#{@cX.off}: #{@cX.green}#{@@id_t}#{@@cX.off}} unless @opt.cmd =~/q/
end