From 1d30d4b2225be7f152de94b007d81a5d7b7a1c3a Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Wed, 29 Jun 2016 22:28:53 -0400 Subject: associated array instead of json --- src/sdp/ao_header_extract_sdlang.d | 463 ++++++++++++++++++++++++++++++------- 1 file changed, 376 insertions(+), 87 deletions(-) (limited to 'src/sdp/ao_header_extract_sdlang.d') diff --git a/src/sdp/ao_header_extract_sdlang.d b/src/sdp/ao_header_extract_sdlang.d index 886a2c8..d4e9e36 100644 --- a/src/sdp/ao_header_extract_sdlang.d +++ b/src/sdp/ao_header_extract_sdlang.d @@ -10,103 +10,407 @@ template SiSUheaderExtractSDLang() { mixin SiSUregisters; mixin RgxInit; auto rgx = Rgx(); - private auto documentMakeSDLangToJSONmake(Tag document_make_sdlang) { + private auto configSettingsSDLangToAAmake(Tag conf_sdlang) { + /+ config settings +/ + string hm; + string hs; + auto conf = conf_aa; + hm = "webserv"; + if (!(conf_sdlang.maybe.tags[hm].empty)) { + hs = "url_root"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "path"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "images"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "cgi"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + } + hm = "webserv_cgi"; + if (!(conf_sdlang.maybe.tags[hm].empty)) { + hs = "host"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "base_path"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "port"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "user"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "file_links"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + } + hm = "processing"; + if (!(conf_sdlang.maybe.tags[hm].empty)) { + hs = "path"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "dir"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "concord_max"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + } + hm = "flag"; + if (!(conf_sdlang.maybe.tags[hm].empty)) { + hs = "act0"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "act0"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "act1"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "act2"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "act3"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "act4"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "act5"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "act6"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "act7"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "act8"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "act9"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + } + hm = "default"; + if (!(conf_sdlang.maybe.tags[hm].empty)) { + hs = "papersize"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "text_wrap"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "emphasis"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "language"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "digest"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + } + hm = "permission"; + if (!(conf_sdlang.maybe.tags[hm].empty)) { + hs = "share_source"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + } + hm = "program_select"; + if (!(conf_sdlang.maybe.tags[hm].empty)) { + hs = "editor"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "epub_viewer"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "html_viewer"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "odf_viewer"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "pdf_viewer"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "xml_viewer"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + } + hm = "search"; + if (!(conf_sdlang.maybe.tags[hm].empty)) { + hs = "flag"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "action"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "db"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + hs = "title"; + if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) + && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { + writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); + conf[hm][hs] = + to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); + } + } + return conf; + } + private auto documentMakeSDLangToAAmake(Tag document_make_sdlang) { /+ dochead +/ string hm; string hs; /+ make +/ - auto dochead_make = parseJSON(make_jsonstr).object; + auto dochead_make = make_aa; if (!(document_make_sdlang.maybe.tags["make"].empty)) { hm = "make"; hs = "bold"; if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "breaks"; if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "cover_image"; if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "css"; if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "emphasis"; if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "footer"; if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "headings"; if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "home_button_image"; if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "home_button_text"; if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "italics"; if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "num_top"; if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "substitute"; if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "texpdf_font"; if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); } } @@ -120,7 +424,7 @@ template SiSUheaderExtractSDLang() { // if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) // && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { // writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); - // dochead_meta[hm][hs].str = + // dochead_meta[hm][hs] = // to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); // } } @@ -178,20 +482,7 @@ template SiSUheaderExtractSDLang() { } return header_sdlang; // sdlang.ast.Tag } - private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead_make) { - /+ TODO json next +/ - /+ TODO - auto dochead_make = parseJSON(make_jsonstr).object; - auto dochead_meta = parseJSON(meta_jsonstr).object; - auto hm = to!string(t.captures[1]); - auto hs = to!string(s.captures[1]); - if (dochead_make[hm][hs].type() == JSON_TYPE.STRING) { - dochead_make[hm][hs].str = to!string(s.captures[2]); - } - if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) { - dochead_meta[hm][hs].str = to!string(s.captures[2]); - } - +/ + private auto headerSDLangToAAmake(Tag header_sdlang, string[string][string] dochead_make) { /+ dochead +/ string hm; string hs; @@ -202,96 +493,96 @@ template SiSUheaderExtractSDLang() { if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "breaks"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "cover_image"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "css"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "emphasis"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "footer"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "headings"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "home_button_image"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "home_button_text"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "italics"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "num_top"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "substitute"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "texpdf_font"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_make[hm][hs].str = + dochead_make[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } } /+ meta +/ - auto dochead_meta = parseJSON(meta_jsonstr).object; + auto dochead_meta = meta_aa; hm = "title"; if (!(header_sdlang.maybe.tags[hm].empty)) { /+ TODO Title REQUIRED +/ @@ -299,13 +590,13 @@ template SiSUheaderExtractSDLang() { if (!(header_sdlang.tags[hm].empty) && (header_sdlang.tags[hm][0].values[0].length > 1)) { writeln(header_sdlang.tags[hm][0].values[0]); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].values[0]); // to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } else if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } else { writeln("Required header metadata Title, missing"); @@ -314,12 +605,12 @@ template SiSUheaderExtractSDLang() { if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } else if (!(header_sdlang.tags[hm][0].maybe.attributes["subtitle"].empty) && (header_sdlang.tags[hm][0].attributes["subtitle"][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes["subtitle"][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes["subtitle"][0].value); } // full title composite (main + sub) @@ -329,26 +620,26 @@ template SiSUheaderExtractSDLang() { if (!(header_sdlang.tags[hm][0].maybe.attributes["lang"].empty) && (header_sdlang.tags[hm][0].attributes["lang"][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes["lang"][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes["lang"][0].value); } else if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "edition"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "note"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } } @@ -364,28 +655,28 @@ template SiSUheaderExtractSDLang() { if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "author_email"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "illustrator"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "translator"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } } @@ -395,35 +686,35 @@ template SiSUheaderExtractSDLang() { if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "keywords"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "loc"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "subject"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "topic_register"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } } @@ -433,49 +724,49 @@ template SiSUheaderExtractSDLang() { if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "available"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "created"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "issued"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "modified"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "published"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "valid"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } } @@ -485,21 +776,21 @@ template SiSUheaderExtractSDLang() { if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "oclc"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "pg"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } } @@ -512,7 +803,7 @@ template SiSUheaderExtractSDLang() { // if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) // && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { // writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - // dochead_meta[hm][hs].str = + // dochead_meta[hm][hs] = // to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); // } } @@ -522,14 +813,14 @@ template SiSUheaderExtractSDLang() { if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "description"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } } @@ -539,21 +830,21 @@ template SiSUheaderExtractSDLang() { if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "source"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "title"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } } @@ -563,7 +854,7 @@ template SiSUheaderExtractSDLang() { if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } } @@ -573,41 +864,39 @@ template SiSUheaderExtractSDLang() { if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "cover"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "illustrations"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } hs = "license"; if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); - dochead_meta[hm][hs].str = + dochead_meta[hm][hs] = to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); } } - // writeln(dochead_make); - // writeln(dochead_meta); auto t = tuple(dochead_make, dochead_meta); static assert(!isTypeTuple!(t)); return t; } - private auto headerSDLangToJSON(char[] header_sdlang_src, JSONValue[string] conf_doc_make_json) { + private auto headerSDLangToAA(char[] header_sdlang_src, string[string][string] conf_doc_make_aa) { auto header_sdlang_tag = headerSDLangGet(header_sdlang_src); // sdlang.ast.Tag - auto header_json_tuple = headerSDLangToJSONmake(header_sdlang_tag, conf_doc_make_json); - return header_json_tuple; + auto header_aa_tuple = headerSDLangToAAmake(header_sdlang_tag, conf_doc_make_aa); + return header_aa_tuple; } } -- cgit v1.2.3