aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sdp/output/source_sisupod.d
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2017-09-29 19:29:11 -0400
committerRalph Amissah <ralph@amissah.com>2019-04-10 15:14:14 -0400
commit0f37cbf6a34eb57aa1b5ca09d1cbe3f607997b88 (patch)
tree569baa56ccd6278b460b026a8ccb4a4f7bba5886 /src/sdp/output/source_sisupod.d
parent0.19.0 conf make meta, composite struct, instead of associative array (diff)
sisupod.zip related fixes
Diffstat (limited to 'src/sdp/output/source_sisupod.d')
-rw-r--r--src/sdp/output/source_sisupod.d24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/sdp/output/source_sisupod.d b/src/sdp/output/source_sisupod.d
index db19f68..9c83905 100644
--- a/src/sdp/output/source_sisupod.d
+++ b/src/sdp/output/source_sisupod.d
@@ -27,6 +27,10 @@ template SiSUpod() {
assert (doc_matters.source_filename.match(rgx.src_fn));
try {
/+ 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;
@@ -50,9 +54,8 @@ template SiSUpod() {
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);
@@ -78,7 +81,6 @@ template SiSUpod() {
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());
}
}
}
@@ -98,7 +100,6 @@ template SiSUpod() {
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());
}
}
}
@@ -117,7 +118,6 @@ template SiSUpod() {
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());
}
}
}
@@ -147,17 +147,25 @@ template SiSUpod() {
}
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());
+ }
+ }
+ }
if (exists(fn_sisupod)) {
try {
auto data = (cast(byte[]) (fn_sisupod).read);