diff options
author | Ralph Amissah <ralph.amissah@gmail.com> | 2020-04-19 21:44:39 -0400 |
---|---|---|
committer | Ralph Amissah <ralph.amissah@gmail.com> | 2020-05-20 11:27:26 -0400 |
commit | 7b502c8af7d07286bcb8df20060df8bc73281794 (patch) | |
tree | 8868bbc2ca9dfec20a215a0c528b3af42e65b690 /src | |
parent | cgi search form, document sub-root path (diff) |
cgi search form, no date_published breaks regex, initialize to "0000"
Diffstat (limited to 'src')
-rw-r--r-- | src/doc_reform/io_out/cgi_sqlite_search_form.d | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/doc_reform/io_out/cgi_sqlite_search_form.d b/src/doc_reform/io_out/cgi_sqlite_search_form.d index 145203f..4a77d48 100644 --- a/src/doc_reform/io_out/cgi_sqlite_search_form.d +++ b/src/doc_reform/io_out/cgi_sqlite_search_form.d @@ -1348,10 +1348,14 @@ LIMIT %%s OFFSET %%s auto select_query_results = db.execute(sql_select.the_body).cached; string _old_uid = ""; if (!select_query_results.empty) { + string _date_published = "0000"; foreach (row; select_query_results) { if (row["uid"].as!string != _old_uid) { _old_uid = row["uid"].as!string; - auto m = (row["date_published"].as!string).match(regex(r"^([0-9]{4})")); // breaks if row missing or no match? + _date_published = (row["date_published"].as!string.match(regex(r"^([0-9]{4})"))) + ? row["date_published"].as!string : "0000"; // used in regex that breaks if no match + auto m = _date_published.match(regex(r"^([0-9]{4})")); + string _date = (m.hit == "0000") ? "(year?) " : "(" ~ m.hit ~ ") "; cgi.write( "<hr><a href=\"" ~ "http://" ~ conf.http_host ~ conf.doc_collection_sub_root ~ "/" @@ -1360,12 +1364,9 @@ LIMIT %%s OFFSET %%s ~ "toc.html" ~ "\">\"" ~ row["title"].as!string ~ "\"" - ~ "</a> (" - ~ m.hit - ~ ") " - ~ "[" - ~ row["language_document_char"].as!string - ~ "] " + ~ "</a> " + ~ _date + ~ "[" ~ row["language_document_char"].as!string ~ "] " ~ row["creator_author_last_first"].as!string ~ " " ~ show_matched_objects(row["src_filename_base"].as!string) |