aboutsummaryrefslogtreecommitdiffhomepage
path: root/org
diff options
context:
space:
mode:
Diffstat (limited to 'org')
-rw-r--r--org/default_paths.org14
-rw-r--r--org/output_sisupod.org24
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