diff options
| author | Ralph Amissah <ralph@amissah.com> | 2017-09-29 19:29:11 -0400 | 
|---|---|---|
| committer | Ralph Amissah <ralph@amissah.com> | 2019-04-10 15:14:14 -0400 | 
| commit | 0f37cbf6a34eb57aa1b5ca09d1cbe3f607997b88 (patch) | |
| tree | 569baa56ccd6278b460b026a8ccb4a4f7bba5886 /org | |
| parent | 0.19.0 conf make meta, composite struct, instead of associative array (diff) | |
sisupod.zip related fixes
Diffstat (limited to 'org')
| -rw-r--r-- | org/default_paths.org | 14 | ||||
| -rw-r--r-- | org/output_sisupod.org | 24 | 
2 files changed, 26 insertions, 12 deletions
diff --git a/org/default_paths.org b/org/default_paths.org index 7dfef88..a6d9023 100644 --- a/org/default_paths.org +++ b/org/default_paths.org @@ -133,18 +133,21 @@ doc  template SiSUpathsSisupod() {    mixin SiSUrgxInit;    static auto rgx = Rgx(); -  string base_dir = "sisupod"; -  string suffix = ".zip"; +  string _base_dir = "sisupod"; +  string _suffix = ".zip";    auto SiSUpathsSisupod()() {      struct _PathsStruct {        string base_filename(string fn_src) {          return fn_src.baseName.stripExtension;        } +      string sisupod_dir() { +        return _base_dir; +      }        string sisupod_filename(string fn_src) { -        return base_dir.chainPath(base_filename(fn_src) ~ suffix).array; +        return _base_dir.chainPath(base_filename(fn_src) ~ _suffix).array;        }        string base(string fn_src) { -        return base_dir.chainPath(base_filename(fn_src)).array; +        return _base_dir.chainPath(base_filename(fn_src)).array;        }      }      return _PathsStruct(); @@ -165,6 +168,9 @@ template SiSUpathsSisupodZipped() {    ) {      struct _PathsStruct {        auto spod_pths = SiSUpathsSisupod!()(); +      string sisupod_dir() { +        return spod_pths.sisupod_dir; +      }        string base_filename(string fn_src) {          return spod_pths.base_filename(fn_src);        } diff --git a/org/output_sisupod.org b/org/output_sisupod.org index a2085dd..a852b1c 100644 --- a/org/output_sisupod.org +++ b/org/output_sisupod.org @@ -76,6 +76,10 @@ assert (doc_matters.source_filename.match(rgx.src_fn));  #+name: source_sisupod_mkdirs  #+BEGIN_SRC d  /+ create directory structure +/ +if (!exists(pth_sisupod.sisupod_dir)) { +  // used both by sisupod zipped (& sisupod filesystem (unzipped) which makes its own recursive dirs) +  pth_sisupod.sisupod_dir.mkdirRecurse; +}  if (doc_matters.opt_action["source"]) {    if (!exists(pth_sisupod_filesystem.text_root(doc_matters.source_filename))) {      pth_sisupod_filesystem.text_root(doc_matters.source_filename).mkdirRecurse; @@ -105,9 +109,8 @@ if (doc_matters.opt_action["source"]) {  debug(sisupod) {    writeln(__LINE__, ": ",      doc_matters.source_filename, " -> ", -    pth_sisupod_filesystem.fn_doc( -    doc_matters.source_filename, -  )); +    pth_sisupod_filesystem.fn_doc(doc_matters.source_filename) +  );  }  auto zip = new ZipArchive();  auto fn_sisupod = pth_sisupod.sisupod_filename(doc_matters.source_filename); @@ -133,7 +136,6 @@ auto fn_sisupod = pth_sisupod.sisupod_filename(doc_matters.source_filename);          zip_data.write(cast(char[]) ((fn_src).read));          zip_arc_member_file.expandedData = zip_data.toBytes();          zip.addMember(zip_arc_member_file); -        createZipFile!()(pth_sisupod.sisupod_filename(fn_src), zip.build());        }      }    } @@ -153,7 +155,6 @@ auto fn_sisupod = pth_sisupod.sisupod_filename(doc_matters.source_filename);        zip_data.write((fn_src).readText);        zip_arc_member_file.expandedData = zip_data.toBytes();        zip.addMember(zip_arc_member_file); -      createZipFile!()(pth_sisupod.sisupod_filename(fn_src), zip.build());      }    }  } @@ -172,7 +173,6 @@ auto fn_sisupod = pth_sisupod.sisupod_filename(doc_matters.source_filename);        zip_data.write((fn_src).readText);        zip_arc_member_file.expandedData = zip_data.toBytes();        zip.addMember(zip_arc_member_file); -      createZipFile!()(pth_sisupod.sisupod_filename(fn_src), zip.build());      }    }  } @@ -202,17 +202,25 @@ auto fn_sisupod = pth_sisupod.sisupod_filename(doc_matters.source_filename);          }          if (doc_matters.opt_action["sisupod"]) {            auto zip_arc_member_file = new ArchiveMember(); -          zip_arc_member_file.name = insert_file; +          zip_arc_member_file.name = fn_out;            auto zip_data = new OutBuffer();            zip_data.write((fn_src).readText);            zip_arc_member_file.expandedData = zip_data.toBytes();            zip.addMember(zip_arc_member_file); -          createZipFile!()(pth_sisupod.sisupod_filename(fn_src), zip.build()); +          createZipFile!()(fn_sisupod, zip.build());          }        }      }    }  } +{ +  auto fn_src = doc_matters.source_filename; +  if (exists(fn_src)) { +    if (doc_matters.opt_action["sisupod"]) { +      createZipFile!()(fn_sisupod, zip.build()); +    } +  } +}  #+END_SRC  ** sha256 of sisupod.zip, zip debug, read zip archive  | 
