From d39da3f07036b22892ffb0b05737e8ba7e1ff954 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 28 Jan 2022 10:38:10 -0500 Subject: config & sqlite search output, some changes --- sundry/spine_search_cgi/src/spine_search.d | 63 ++++++++++++++++++---- sundry/spine_search_cgi/src/spine_search.d_ | 63 ++++++++++++++++++---- sundry/spine_search_cgi/views/configuration.txt | 2 +- .../views/configuration_example.txt | 2 +- 4 files changed, 110 insertions(+), 20 deletions(-) (limited to 'sundry') diff --git a/sundry/spine_search_cgi/src/spine_search.d b/sundry/spine_search_cgi/src/spine_search.d index e1e0c93..07a824d 100644 --- a/sundry/spine_search_cgi/src/spine_search.d +++ b/sundry/spine_search_cgi/src/spine_search.d @@ -82,7 +82,7 @@ void cgi_function_intro(Cgi cgi) { auto conf = Config(); conf.http_request_type = environment.get("REQUEST_SCHEME", _cfg.http_request_type); conf.http_host = environment.get("SERVER_NAME", _cfg.http_host); - conf.doc_collection_subroot = _cfg.www_doc_subroot; + conf.doc_collection_subroot = _cfg.www_url_doc_subroot; conf.cgi_script_name = environment.get("SCRIPT_NAME", _cfg.cgi_filename); conf.cgi_search_form_title = _cfg.cgi_search_form_title; // ≅ SiSU spine search form conf.cgi_search_form_html_title = "" ~ "
" @@ -1757,9 +1769,10 @@ LIMIT %s OFFSET %s ~ conf.http_request_type ~ "://" ~ conf.http_host ~ conf.doc_collection_subroot ~ "/" ~ row["language_document_char"].as!string ~ "/html/" - ~ row["src_filename_base"].as!string ~ "/toc.html" + ~ row["src_filename_base"].as!string ~ "/" + ~ _sfn ~ ".html" ~ "\">" - ~ row["ocn"].as!string + ~ _id ~ ":

" ~ "
" ~ "
" @@ -1768,6 +1781,16 @@ LIMIT %s OFFSET %s ~ "
" ); } else { + if (row["is_a"].as!string == "bibliography") { + _id = row["ocn"].as!string ~ "b"; + _sfn = "bibliography"; + } else if (row["is_a"].as!string == "glossary") { + _id = row["ocn"].as!string ~ "g"; + _sfn = "glossary"; + } else { + _id = row["ocn"].as!string; + _sfn = row["seg_name"].as!string; + } cgi.write( "
" ~ "
" @@ -1776,9 +1799,9 @@ LIMIT %s OFFSET %s ~ conf.http_host ~ conf.doc_collection_subroot ~ "/" ~ row["language_document_char"].as!string ~ "/html/" ~ row["src_filename_base"].as!string ~ "/" - ~ row["seg_name"].as!string ~ ".html#" ~ row["ocn"].as!string + ~ _sfn ~ ".html#" ~ row["ocn"].as!string ~ "\">" - ~ row["ocn"].as!string + ~ _id ~ ":

" ~ "
" ~ "
" @@ -1788,20 +1811,42 @@ LIMIT %s OFFSET %s ); } } else { + string _sfn, _id; if ((row["lev"].as!int < 4) || (row["ocn"].as!string == "0")) { + if (row["is_a"].as!string == "bookindex") { + _sfn = "bookindex"; + _id = "i"; + } else if (row["is_a"].as!string == "blurb") { + _sfn = "blurb"; + _id = "bm"; + } else { + _sfn = "toc"; + _id = row["ocn"].as!string; + } cgi.write( _matched_ocn_open ~ "" - ~ row["ocn"].as!string + ~ _id ~ ", " ); } else { + if (row["is_a"].as!string == "bibliography") { + _id = row["ocn"].as!string ~ "b"; + _sfn = "bibliography"; + } else if (row["is_a"].as!string == "glossary") { + _id = row["ocn"].as!string ~ "g"; + _sfn = "glossary"; + } else { + _id = row["ocn"].as!string; + _sfn = row["seg_name"].as!string; + } cgi.write( _matched_ocn_open ~ "" - ~ row["ocn"].as!string + ~ _id ~ ", " ); } diff --git a/sundry/spine_search_cgi/src/spine_search.d_ b/sundry/spine_search_cgi/src/spine_search.d_ index 3703659..3c9a738 100755 --- a/sundry/spine_search_cgi/src/spine_search.d_ +++ b/sundry/spine_search_cgi/src/spine_search.d_ @@ -84,7 +84,7 @@ void cgi_function_intro(Cgi cgi) { conf.http_request_type = environment.get("REQUEST_SCHEME", _cfg.http_request_type); conf.http_host = environment.get("SERVER_NAME", _cfg.http_host); // conf.http_host = environment.get("HTTP_HOST", _cfg.http_host); - conf.doc_collection_subroot = _cfg.www_doc_subroot; + conf.doc_collection_subroot = _cfg.www_url_doc_subroot; conf.cgi_script_name = environment.get("SCRIPT_NAME", _cfg.cgi_filename); conf.cgi_search_form_title = _cfg.cgi_search_form_title; // ≅ SiSU spine search form conf.cgi_search_form_html_title = "" ~ "" ~ "
" @@ -1770,6 +1783,16 @@ LIMIT %s OFFSET %s ~ "
" ); } else { + if (row["is_a"].as!string == "bibliography") { + _id = row["ocn"].as!string ~ "b"; + _sfn = "bibliography"; + } else if (row["is_a"].as!string == "glossary") { + _id = row["ocn"].as!string ~ "g"; + _sfn = "glossary"; + } else { + _id = row["ocn"].as!string; + _sfn = row["seg_name"].as!string; + } cgi.write( "
" ~ "
" @@ -1778,9 +1801,9 @@ LIMIT %s OFFSET %s ~ conf.http_host ~ conf.doc_collection_subroot ~ "/" ~ row["language_document_char"].as!string ~ "/html/" ~ row["src_filename_base"].as!string ~ "/" - ~ row["seg_name"].as!string ~ ".html#" ~ row["ocn"].as!string + ~ _sfn ~ ".html#" ~ row["ocn"].as!string ~ "\">" - ~ row["ocn"].as!string + ~ _id ~ ":

" ~ "
" ~ "
" @@ -1790,20 +1813,42 @@ LIMIT %s OFFSET %s ); } } else { + string _sfn, _id; if ((row["lev"].as!int < 4) || (row["ocn"].as!string == "0")) { + if (row["is_a"].as!string == "bookindex") { + _sfn = "bookindex"; + _id = "i"; + } else if (row["is_a"].as!string == "blurb") { + _sfn = "blurb"; + _id = "bm"; + } else { + _sfn = "toc"; + _id = row["ocn"].as!string; + } cgi.write( _matched_ocn_open ~ "" - ~ row["ocn"].as!string + ~ _id ~ ", " ); } else { + if (row["is_a"].as!string == "bibliography") { + _id = row["ocn"].as!string ~ "b"; + _sfn = "bibliography"; + } else if (row["is_a"].as!string == "glossary") { + _id = row["ocn"].as!string ~ "g"; + _sfn = "glossary"; + } else { + _id = row["ocn"].as!string; + _sfn = row["seg_name"].as!string; + } cgi.write( _matched_ocn_open ~ "" - ~ row["ocn"].as!string + ~ _id ~ ", " ); } diff --git a/sundry/spine_search_cgi/views/configuration.txt b/sundry/spine_search_cgi/views/configuration.txt index 51a8963..8e9540d 100644 --- a/sundry/spine_search_cgi/views/configuration.txt +++ b/sundry/spine_search_cgi/views/configuration.txt @@ -1,7 +1,7 @@ struct Cfg { string http_request_type = "http"; string http_host = "localhost"; - string www_doc_subroot = "/spine"; + string www_url_doc_subroot = "/spine"; string cgi_filename = "spine_search"; string cgi_search_form_title = "≅ SiSU Spine search"; string db_sqlite_path = "/var/www/sqlite"; diff --git a/sundry/spine_search_cgi/views/configuration_example.txt b/sundry/spine_search_cgi/views/configuration_example.txt index ea43fde..0d5be00 100644 --- a/sundry/spine_search_cgi/views/configuration_example.txt +++ b/sundry/spine_search_cgi/views/configuration_example.txt @@ -2,7 +2,7 @@ struct Cfg { string http_request_type = "http"; string http_host = "localhost"; - string www_doc_subroot = "/spine"; + string www_url_doc_subroot = "/spine"; string cgi_filename = "spine_search"; string cgi_search_form_title = "≅ SiSU Spine search"; string db_sqlite_path = "/var/www/sqlite"; -- cgit v1.2.3