aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/current/db_load_tuple.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/current/db_load_tuple.rb')
-rw-r--r--lib/sisu/current/db_load_tuple.rb323
1 files changed, 0 insertions, 323 deletions
diff --git a/lib/sisu/current/db_load_tuple.rb b/lib/sisu/current/db_load_tuple.rb
deleted file mode 100644
index ebf7a45e..00000000
--- a/lib/sisu/current/db_load_tuple.rb
+++ /dev/null
@@ -1,323 +0,0 @@
-# encoding: utf-8
-=begin
-
-* Name: SiSU
-
-** Description: documents, structuring, processing, publishing, search
-*** modules shared by the different db types, dbi, postgresql, sqlite
-
-** Author: Ralph Amissah
- <ralph@amissah.com>
- <ralph.amissah@gmail.com>
-
-** Copyright: (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Ralph Amissah,
- All Rights Reserved.
-
-** License: GPL 3 or later:
-
- SiSU, a framework for document structuring, publishing and search
-
- Copyright (C) Ralph Amissah
-
- This program is free software: you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the Free
- Software Foundation, either version 3 of the License, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- more details.
-
- You should have received a copy of the GNU General Public License along with
- this program. If not, see <http://www.gnu.org/licenses/>.
-
- If you have Internet connection, the latest version of the GPL should be
- available at these locations:
- <http://www.fsf.org/licensing/licenses/gpl.html>
- <http://www.gnu.org/licenses/gpl.html>
-
- <http://www.sisudoc.org/sisu/en/manifest/gpl.fsf.html>
-
-** SiSU uses:
- * Standard SiSU markup syntax,
- * Standard SiSU meta-markup syntax, and the
- * Standard SiSU object citation numbering and system
-
-** Hompages:
- <http://www.jus.uio.no/sisu>
- <http://www.sisudoc.org>
-
-** Git
- <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=summary>
- <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=lib/sisu/current/db_load_tuple.rb;hb=HEAD>
-
-=end
-module SiSU_DbTuple
- require_relative 'db_columns' # db_columns.rb
- class LoadDocuments
- require_relative 'dp' # dp.rb
- include SiSU_Param
- def initialize(conn,col,opt,file_maint)
- @conn,@col,@opt,@file_maint=conn,col,opt,file_maint
- @col[:lev]=@col[:lev].to_i
- unless @col[:lev].inspect=~/^[0-7]/ \
- or @col[:lev]==0..7
- @col[:lev]=9
- end
- @col[:ocn]=0 unless @col[:ocn].inspect=~/\d+/
- @cX=SiSU_Screen::Ansi.new(@opt.act[:color_state][:set]).cX
- end
- def tuple #% import line
- sql_entry=if @col[:en_a]
- "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, lev7, en_a, en_z, t_of, t_is, node, parent, digest_clean, digest_all) " +
- "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:lv7]}', '#{@col[:en_a]}', '#{@col[:en_z]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
- else
- "INSERT INTO doc_objects (lid, metadata_tid, lev, lev_an, clean, body, book_idx, ocn, ocnd, ocns, seg, lev0, lev1, lev2, lev3, lev4, lev5, lev6, lev7, t_of, t_is, node, parent, digest_clean, digest_all) " +
- "VALUES (#{@col[:lid]}, #{@col[:tid]}, #{@col[:lev]}, '#{@col[:lev_an]}', '#{@col[:plaintext]}', '#{@col[:body]}', '#{@col[:book_idx]}', '#{@col[:ocn]}', '#{@col[:ocnd]}', '#{@col[:ocns]}', '#{@col[:seg]}', '#{@col[:lv0]}', '#{@col[:lv1]}', '#{@col[:lv2]}', '#{@col[:lv3]}', '#{@col[:lv4]}', '#{@col[:lv5]}', '#{@col[:lv6]}', '#{@col[:lv7]}', '#{@col[:t_of]}', '#{@col[:t_is]}', '#{@col[:node]}', '#{@col[:parent]}', '#{@col[:digest_clean]}', '#{@col[:digest_all]}');"
- end
- if @opt.act[:verbose_plus][:set]==:on
- if @opt.act[:maintenance][:set]==:on
- puts @file_maint.inspect
- puts sql_entry
- end
- @file_maint.puts sql_entry
- else
- if @opt.act[:verbose_plus][:set]==:on
- puts sql_entry
- @file_maint.puts sql_entry
- end
- end
- if @opt.act[:verbose][:set]==:on
- if @col[:lev].inspect =~/[0-35-7]/
- lev=case @col[:lev].inspect
- when /0/ then ':A'
- when /1/ then ':B'
- when /2/ then ':C'
- when /3/ then ':D'
- when /5/ then ' 2'
- when /6/ then ' 3'
- when /7/ then ' 4'
- end
- puts %{#{lev}>\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:lv7]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}}
- elsif @col[:lev].inspect =~/[4]/
- puts %{ #{@cX.green}1>#{@cX.off}\t#{@col[:lv0]}\t#{@col[:lv1]}\t#{@col[:lv2]}\t#{@col[:lv3]}\t#{@col[:lv4]}\t#{@col[:lv5]}\t#{@col[:lv6]}\t#{@col[:lv7]}\t#{@col[:ocn]}\t#{@col[:node]}\t#{@col[:ocns]}\t#{@col[:seg]}}
- end
- end
- sql_entry
- end
- end
- class LoadMetadata #< SiSU_DbColumns::Columns
- def initialize(conn,id,md,file_maint)
- @conn,@id,@md,@file_maint=conn,id,md,file_maint
- @tp=SiSU_DbColumns::Columns.new(md)
- end
- def tuple
- sql_entry="INSERT INTO metadata_and_text (
-#{@tp.column.title.tuple[0]}
-#{@tp.column.title_main.tuple[0]}
-#{@tp.column.title_sub.tuple[0]}
-#{@tp.column.title_short.tuple[0]}
-#{@tp.column.title_edition.tuple[0]}
-#{@tp.column.title_note.tuple[0]}
-#{@tp.column.title_language.tuple[0]}
-#{@tp.column.title_language_char.tuple[0]}
-#{@tp.column.creator_author.tuple[0]}
-#{@tp.column.creator_author_honorific.tuple[0]}
-#{@tp.column.creator_author_nationality.tuple[0]}
-#{@tp.column.creator_editor.tuple[0]}
-#{@tp.column.creator_contributor.tuple[0]}
-#{@tp.column.creator_illustrator.tuple[0]}
-#{@tp.column.creator_photographer.tuple[0]}
-#{@tp.column.creator_translator.tuple[0]}
-#{@tp.column.creator_prepared_by.tuple[0]}
-#{@tp.column.creator_digitized_by.tuple[0]}
-#{@tp.column.creator_audio.tuple[0]}
-#{@tp.column.creator_video.tuple[0]}
-#{@tp.column.language_document.tuple[0]}
-#{@tp.column.language_document_char.tuple[0]}
-#{@tp.column.language_original.tuple[0]}
-#{@tp.column.language_original_char.tuple[0]}
-#{@tp.column.date_added_to_site.tuple[0]}
-#{@tp.column.date_available.tuple[0]}
-#{@tp.column.date_created.tuple[0]}
-#{@tp.column.date_issued.tuple[0]}
-#{@tp.column.date_modified.tuple[0]}
-#{@tp.column.date_published.tuple[0]}
-#{@tp.column.date_valid.tuple[0]}
-#{@tp.column.date_translated.tuple[0]}
-#{@tp.column.date_original_publication.tuple[0]}
-#{@tp.column.date_generated.tuple[0]}
-#{@tp.column.publisher.tuple[0]}
-#{@tp.column.original_publisher.tuple[0]}
-#{@tp.column.original_language.tuple[0]}
-#{@tp.column.original_language_char.tuple[0]}
-#{@tp.column.original_source.tuple[0]}
-#{@tp.column.original_institution.tuple[0]}
-#{@tp.column.original_nationality.tuple[0]}
-#{@tp.column.rights_all.tuple[0]}
-#{@tp.column.rights_copyright_text.tuple[0]}
-#{@tp.column.rights_copyright_translation.tuple[0]}
-#{@tp.column.rights_copyright_illustrations.tuple[0]}
-#{@tp.column.rights_copyright_photographs.tuple[0]}
-#{@tp.column.rights_copyright_preparation.tuple[0]}
-#{@tp.column.rights_copyright_digitization.tuple[0]}
-#{@tp.column.rights_copyright_audio.tuple[0]}
-#{@tp.column.rights_copyright_video.tuple[0]}
-#{@tp.column.rights_license.tuple[0]}
-#{@tp.column.classify_topic_register.tuple[0]}
-#{@tp.column.classify_subject.tuple[0]}
-#{@tp.column.classify_loc.tuple[0]}
-#{@tp.column.classify_dewey.tuple[0]}
-#{@tp.column.classify_keywords.tuple[0]}
-#{@tp.column.identifier_oclc.tuple[0]}
-#{@tp.column.identifier_isbn.tuple[0]}
-#{@tp.column.notes_abstract.tuple[0]}
-#{@tp.column.notes_description.tuple[0]}
-#{@tp.column.notes_comment.tuple[0]}
-#{@tp.column.notes_history.tuple[0]}
-#{@tp.column.notes_format.tuple[0]}
-#{@tp.column.notes_relation.tuple[0]}
-#{@tp.column.notes_coverage.tuple[0]}
-#{@tp.column.notes_type.tuple[0]}
-#{@tp.column.notes_prefix.tuple[0]}
-#{@tp.column.notes_prefix_a.tuple[0]}
-#{@tp.column.notes_prefix_b.tuple[0]}
-#{@tp.column.notes_suffix.tuple[0]}
-#{@tp.column.src_filename.tuple[0]}
-#{@tp.column.src_fingerprint.tuple[0]}
-#{@tp.column.src_filesize.tuple[0]}
-#{@tp.column.src_word_count.tuple[0]}
-#{@tp.column.src_txt.tuple[0]}
-#{@tp.column.fulltext.tuple[0]}
-#{@tp.column.links.tuple[0]}
-tid)
-" +
- "VALUES (
-#{@tp.column.title.tuple[1]}
-#{@tp.column.title_main.tuple[1]}
-#{@tp.column.title_sub.tuple[1]}
-#{@tp.column.title_short.tuple[1]}
-#{@tp.column.title_edition.tuple[1]}
-#{@tp.column.title_note.tuple[1]}
-#{@tp.column.title_language.tuple[1]}
-#{@tp.column.title_language_char.tuple[1]}
-#{@tp.column.creator_author.tuple[1]}
-#{@tp.column.creator_author_honorific.tuple[1]}
-#{@tp.column.creator_author_nationality.tuple[1]}
-#{@tp.column.creator_editor.tuple[1]}
-#{@tp.column.creator_contributor.tuple[1]}
-#{@tp.column.creator_illustrator.tuple[1]}
-#{@tp.column.creator_photographer.tuple[1]}
-#{@tp.column.creator_translator.tuple[1]}
-#{@tp.column.creator_prepared_by.tuple[1]}
-#{@tp.column.creator_digitized_by.tuple[1]}
-#{@tp.column.creator_audio.tuple[1]}
-#{@tp.column.creator_video.tuple[1]}
-#{@tp.column.language_document.tuple[1]}
-#{@tp.column.language_document_char.tuple[1]}
-#{@tp.column.language_original.tuple[1]}
-#{@tp.column.language_original_char.tuple[1]}
-#{@tp.column.date_added_to_site.tuple[1]}
-#{@tp.column.date_available.tuple[1]}
-#{@tp.column.date_created.tuple[1]}
-#{@tp.column.date_issued.tuple[1]}
-#{@tp.column.date_modified.tuple[1]}
-#{@tp.column.date_published.tuple[1]}
-#{@tp.column.date_valid.tuple[1]}
-#{@tp.column.date_translated.tuple[1]}
-#{@tp.column.date_original_publication.tuple[1]}
-#{@tp.column.date_generated.tuple[1]}
-#{@tp.column.publisher.tuple[1]}
-#{@tp.column.original_publisher.tuple[1]}
-#{@tp.column.original_language.tuple[1]}
-#{@tp.column.original_language_char.tuple[1]}
-#{@tp.column.original_source.tuple[1]}
-#{@tp.column.original_institution.tuple[1]}
-#{@tp.column.original_nationality.tuple[1]}
-#{@tp.column.rights_all.tuple[1]}
-#{@tp.column.rights_copyright_text.tuple[1]}
-#{@tp.column.rights_copyright_translation.tuple[1]}
-#{@tp.column.rights_copyright_illustrations.tuple[1]}
-#{@tp.column.rights_copyright_photographs.tuple[1]}
-#{@tp.column.rights_copyright_preparation.tuple[1]}
-#{@tp.column.rights_copyright_digitization.tuple[1]}
-#{@tp.column.rights_copyright_audio.tuple[1]}
-#{@tp.column.rights_copyright_video.tuple[1]}
-#{@tp.column.rights_license.tuple[1]}
-#{@tp.column.classify_topic_register.tuple[1]}
-#{@tp.column.classify_subject.tuple[1]}
-#{@tp.column.classify_loc.tuple[1]}
-#{@tp.column.classify_dewey.tuple[1]}
-#{@tp.column.classify_keywords.tuple[1]}
-#{@tp.column.identifier_oclc.tuple[1]}
-#{@tp.column.identifier_isbn.tuple[1]}
-#{@tp.column.notes_abstract.tuple[1]}
-#{@tp.column.notes_comment.tuple[1]}
-#{@tp.column.notes_description.tuple[1]}
-#{@tp.column.notes_history.tuple[1]}
-#{@tp.column.notes_format.tuple[1]}
-#{@tp.column.notes_relation.tuple[1]}
-#{@tp.column.notes_coverage.tuple[1]}
-#{@tp.column.notes_type.tuple[1]}
-#{@tp.column.notes_prefix.tuple[1]}
-#{@tp.column.notes_prefix_a.tuple[1]}
-#{@tp.column.notes_prefix_b.tuple[1]}
-#{@tp.column.notes_suffix.tuple[1]}
-#{@tp.column.src_filename.tuple[1]}
-#{@tp.column.src_fingerprint.tuple[1]}
-#{@tp.column.src_filesize.tuple[1]}
-#{@tp.column.src_word_count.tuple[1]}
-#{@tp.column.src_txt.tuple[1]}
-#{@tp.column.fulltext.tuple[1]}
-#{@tp.column.links.tuple[1]}
-#{@id}
-);"
- if @md.opt.act[:maintenance][:set]==:on
- puts "maintenance mode on: creating sql transaction file (for last transaction set (document) only):\n\t#{@file_maint.inspect}"
- @file_maint.puts sql_entry
- else
- if @md.opt.act[:verbose_plus][:set]==:on
- @file_maint.puts sql_entry
- end
- end
- sql_entry
- end
- end
- class LoadUrls
- def initialize(conn,f,u,id,opt,file_maint)
- @conn,@f,@u,@id,@opt,@file_maint=conn,f,u,id,opt,file_maint
- end
- def tuple
- sql_entry="INSERT INTO urls (#{@f[:txt]} #{@f[:html_toc]} #{@f[:html_doc]} #{@f[:xhtml]} #{@f[:xml_sax]} #{@f[:xml_dom]} #{@f[:odf]} #{@f[:pdf_p]} #{@f[:pdf_l]} #{@f[:concordance]} #{@f[:latex_p]} #{@f[:latex_l]} #{@f[:manifest]} #{@f[:digest]} #{@f[:markup]} #{@f[:sisupod]} metadata_tid) " +
- "VALUES (#{@u[:txt]} #{@u[:html_toc]} #{@u[:html_doc]} #{@u[:xhtml]} #{@u[:xml_sax]} #{@u[:xml_dom]} #{@u[:odf]} #{@u[:pdf_p]} #{@u[:pdf_l]} #{@u[:concordance]} #{@u[:latex_p]} #{@u[:latex_l]} #{@u[:manifest]} #{@u[:digest]} #{@u[:markup]} #{@u[:sisupod]} #{@id});"
- if @opt.act[:maintenance][:set]==:on
- @file_maint.puts sql_entry
- else
- if @opt.act[:verbose_plus][:set]==:on
- @file_maint.puts sql_entry
- end
- end
- sql_entry
- end
- end
- class LoadEndnotes
- def initialize(conn,en,opt,file_maint)
- @conn,@en,@opt,@file_maint=conn,en,opt,file_maint
- end
- def tuple
- sql_entry="INSERT INTO #{@en[:type]} (nid, document_lid, nr, clean, body, ocn, ocnd, ocns, metadata_tid, digest_clean) " +
- "VALUES ('#{@en[:id]}', '#{@en[:lid]}', '#{@en[:nr]}', '#{@en[:txt]}', '#{@en[:body]}', '#{@en[:ocn]}', '#{@en[:ocnd]}', '#{@en[:ocns]}', '#{@en[:id_t]}', '#{@en[:hash]}');"
- if @opt.act[:maintenance][:set]==:on
- @file_maint.puts sql_entry
- else
- if @opt.act[:verbose_plus][:set]==:on
- @file_maint.puts sql_entry
- end
- end
- sql_entry
- end
- end
-end
-__END__