aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sdp/output/paths_output.d
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2017-11-08 20:02:48 -0500
committerRalph Amissah <ralph@amissah.com>2019-04-10 15:14:14 -0400
commit1d68345250b0fd26d3ea657ed28899dccaa324df (patch)
treea94ad71bfc5d081c15fd253f6bcc7a694141cd7f /src/sdp/output/paths_output.d
parent0.20.0 sisupod & source dir structure changed (diff)
process filesystem/unzipped sisupod.zip
- src pod dir structure changes - notes - the plan is to have a src manifest of related .sst or .ssm files that can be pointed to for processing - multilingual documents [ponder persistence for multilingual documents] - in the case of multilingual documents, there will be multiple source documents on list with different language codes, and to build this list, persistence is required - inserted documents (from master .ssm or .sst) must track document root so inserts can be located, else not found - consider a commandline -o --output path specifier - steps - auto create filelist - for single source file - for multilinugual source files - process document by pointing at filelist (rather than file) - if necessary manually create filelist (for multilinugual source) - keep document root for document inserts (.ssi) process filesystem/unzipped sisupod.zip - source/sisupod path/dir structure representation changes
Diffstat (limited to 'src/sdp/output/paths_output.d')
-rw-r--r--src/sdp/output/paths_output.d320
1 files changed, 236 insertions, 84 deletions
diff --git a/src/sdp/output/paths_output.d b/src/sdp/output/paths_output.d
index 2204965..a5ea0d9 100644
--- a/src/sdp/output/paths_output.d
+++ b/src/sdp/output/paths_output.d
@@ -10,131 +10,283 @@ import sdp.meta.rgx;
template SiSUpathsSisupod() {
mixin SiSUrgxInit;
static auto rgx = Rgx();
- string _base_dir = "sisupod";
+ string _base_dir_pod = "sisupod";
+ string _base_dir_doc = "sisudoc";
string _suffix = ".zip";
auto SiSUpathsSisupod()() {
struct _PathsStruct {
string base_filename(string fn_src) {
- return fn_src.baseName.stripExtension;
+ auto pth = fn_src.baseName.stripExtension;
+ return pth;
}
string sisupod_dir() {
- return _base_dir;
+ auto pth = _base_dir_pod;
+ return pth;
+ }
+ string sisudoc_dir() {
+ auto pth = _base_dir_doc;
+ return pth;
}
string sisupod_filename(string fn_src) {
- return _base_dir.chainPath(base_filename(fn_src) ~ _suffix).array;
+ string pth = _base_dir_pod.chainPath(base_filename(fn_src) ~ _suffix).array;
+ return pth;
}
- string base(string fn_src) {
- return _base_dir.chainPath(base_filename(fn_src)).array;
+ string base_filesystem(string fn_src) {
+ string pth = _base_dir_pod.chainPath(base_filename(fn_src)).array;
+ assert(pth == _base_dir_pod ~ "/" ~ base_filename(fn_src),
+ pth ~ " == " ~ _base_dir_pod ~ "/" ~ base_filename(fn_src) ~ "?");
+ return pth;
+ }
+ string base_pod(string fn_src) {
+ string pth = _base_dir_pod.chainPath(base_filename(fn_src)).array; // change this
+ return pth;
}
}
return _PathsStruct();
}
}
-template SiSUpathsSisupodZipped() {
+
+template SiSUpathsSisupods() {
mixin SiSUrgxInit;
static auto rgx = Rgx();
- auto SiSUpathsSisupodZipped(Ps,Lng)(
+ string _base_dir_pod = "sisupod";
+ string _base_dir_doc = "sisudoc";
+ string _suffix = ".zip";
+ auto SiSUpathsSisupods(Ps,Lng)(
Ps src_pth_info,
Lng lng,
) {
- 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);
- }
- string sisupod_filename(string fn_src) {
- return spod_pths.sisupod_filename(fn_src);
- }
- string base(string fn_src) {
- return spod_pths.base(fn_src);
+ struct _PodPaths {
+ string base_filename_(string fn_src) {
+ auto pth = fn_src.baseName.stripExtension;
+ return pth;
+ }
+ string sisupod_dir_() {
+ auto pth = _base_dir_pod;
+ return pth;
+ }
+ string sisudoc_dir_() {
+ auto pth = _base_dir_doc;
+ return pth;
+ }
+ string sisupod_filename_(string fn_src) {
+ string pth = _base_dir_pod.chainPath(base_filename_(fn_src) ~ _suffix).array;
+ return pth;
+ }
+ string base_filesystem_(string fn_src) {
+ string pth = _base_dir_pod.chainPath(base_filename_(fn_src)).array;
+ assert(pth == _base_dir_pod ~ "/" ~ base_filename_(fn_src),
+ pth ~ " == " ~ _base_dir_pod ~ "/" ~ base_filename_(fn_src) ~ "?");
+ return pth;
+ }
+ string base_pod_(string fn_src) {
+ string pth = _base_dir_pod.chainPath(base_filename_(fn_src)).array; // change this
+ return pth;
+ }
+ auto base_filename(string fn_src) {
+ auto pth_1_ = base_filename_(fn_src);
+ auto pth_2_ = base_filename_(fn_src);
+ struct _pods {
+ auto zpod() {
+ return pth_1_;
+ }
+ auto filesystem_open_zpod() {
+ return pth_2_;
+ }
+ }
+ return _pods();
+ }
+ auto sisupod_filename(string fn_src) {
+ auto pth_1_ = sisupod_filename_(fn_src);
+ auto pth_2_ = sisupod_filename_(fn_src);
+ struct _pods {
+ auto zpod() {
+ return pth_1_;
+ }
+ auto filesystem_open_zpod() {
+ return pth_2_;
+ }
+ }
+ return _pods();
+ }
+ auto base(string fn_src) {
+ auto pth_1_ = "";
+ auto pth_2_ = base_filesystem_(fn_src);
+ struct _pods {
+ auto zpod() {
+ return pth_1_;
+ }
+ auto filesystem_open_zpod() {
+ return pth_2_;
+ }
+ }
+ return _pods();
}
auto pod_root(string fn_src) {
- return "sisudoc";
- }
- auto media_root(string fn_src) {
- return pod_root(fn_src).chainPath("media").array;
+ auto pth_1_ = "";
+ auto pth_2_ = base(fn_src).filesystem_open_zpod.chainPath("").array; // "sisudoc"
+ struct _pods {
+ auto zpod() {
+ return pth_1_;
+ }
+ auto filesystem_open_zpod() {
+ return pth_2_;
+ }
+ }
+ return _pods();
}
auto conf_root(string fn_src) {
- return pod_root(fn_src).chainPath("conf").array;
- }
- auto text_root(string fn_src) {
- return media_root(fn_src).chainPath("text").array;
- }
- auto doc(string fn_src) {
- return text_root(fn_src);
- }
- auto doc_lng(string fn_src) {
- return text_root(fn_src).chainPath(lng).array;
- }
- auto image_root(string fn_src) {
- return media_root(fn_src).chainPath("image").array;
+ auto pod_root_ = pod_root(fn_src);
+ auto pth_1_ = "conf";
+ auto pth_2_ = pod_root(fn_src).filesystem_open_zpod.chainPath("conf").array;
+ struct _pods {
+ auto zpod() {
+ return pth_1_;
+ }
+ auto filesystem_open_zpod() {
+ assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_);
+ return pth_2_;
+ }
+ }
+ return _pods();
}
auto css(string fn_src) {
- return conf_root(fn_src).chainPath("css").array;
- }
- auto fn_doc(string fn_src) {
- return (doc_lng(fn_src)).chainPath(fn_src.baseName).array;
- }
- auto fn_doc_insert(string fn_src, string fn_insert) {
- return (doc_lng(fn_src)).chainPath(fn_insert.baseName).array;
- }
- }
- return _PathsStruct();
- }
-}
-template SiSUpathsSisupodFileSystem() {
- mixin SiSUrgxInit;
- static auto rgx = Rgx();
- auto SiSUpathsSisupodFileSystem(Ps,Lng)(
- Ps src_pth_info,
- Lng lng,
- ) {
- struct _PathsStruct {
- auto spod_pths = SiSUpathsSisupod!()();
- string base_filename(string fn_src) {
- return spod_pths.base_filename(fn_src);
- }
- string sisupod_filename(string fn_src) {
- return spod_pths.sisupod_filename(fn_src);
- }
- string base(string fn_src) {
- return spod_pths.base(fn_src);
- }
- auto pod_root(string fn_src) {
- return base(fn_src).chainPath("sisudoc").array;
+ auto pod_root_ = pod_root(fn_src);
+ auto pth_1_ = conf_root(fn_src).zpod.chainPath("css").array;
+ auto pth_2_ = conf_root(fn_src).filesystem_open_zpod.chainPath("css").array;
+ struct _pods {
+ auto zpod() {
+ return pth_1_;
+ }
+ auto filesystem_open_zpod() {
+ assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_);
+ return pth_2_;
+ }
+ }
+ return _pods();
}
auto media_root(string fn_src) {
- return pod_root(fn_src).chainPath("media").array;
- }
- auto conf_root(string fn_src) {
- return pod_root(fn_src).chainPath("conf").array;
+ auto pod_root_ = pod_root(fn_src);
+ auto pth_1_ = "media";
+ auto pth_2_ = pod_root(fn_src).filesystem_open_zpod.chainPath("media").array;
+ struct _pods {
+ auto zpod() {
+ return pth_1_;
+ }
+ auto filesystem_open_zpod() {
+ assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_);
+ return pth_2_;
+ }
+ }
+ return _pods();
}
auto text_root(string fn_src) {
- return media_root(fn_src).chainPath("text").array;
+ auto pod_root_ = pod_root(fn_src);
+ auto pth_1_ = media_root(fn_src).zpod.chainPath("text").array;
+ auto pth_2_ = media_root(fn_src).filesystem_open_zpod.chainPath("text").array;
+ struct _pods {
+ auto zpod() {
+ return pth_1_;
+ }
+ auto filesystem_open_zpod() {
+ assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_);
+ return pth_2_;
+ }
+ }
+ return _pods();
}
auto doc(string fn_src) {
- return pod_root(fn_src);
+ auto pod_root_ = pod_root(fn_src);
+ auto pth_1_ = text_root(fn_src).zpod;
+ auto pth_2_ = text_root(fn_src).filesystem_open_zpod;
+ struct _pods {
+ auto zpod() {
+ return pth_1_;
+ }
+ auto filesystem_open_zpod() {
+ assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_);
+ return pth_2_;
+ }
+ }
+ return _pods();
}
auto doc_lng(string fn_src) {
- return text_root(fn_src).chainPath(lng).array;
+ auto pod_root_ = pod_root(fn_src);
+ auto pth_1_ = text_root(fn_src).zpod.chainPath(lng).array;
+ auto pth_2_ = text_root(fn_src).filesystem_open_zpod.chainPath(lng).array;
+ struct _pods {
+ auto zpod() {
+ return pth_1_;
+ }
+ auto filesystem_open_zpod() {
+ assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_);
+ return pth_2_;
+ }
+ }
+ return _pods();
}
auto image_root(string fn_src) {
- return media_root(fn_src).chainPath("image").array;
- }
- auto css(string fn_src) {
- return conf_root(fn_src).chainPath("css").array;
+ auto pod_root_ = pod_root(fn_src);
+ auto pth_1_ = media_root(fn_src).zpod.chainPath("image").array;
+ auto pth_2_ = media_root(fn_src).filesystem_open_zpod.chainPath("image").array;
+ struct _pods {
+ auto zpod() {
+ return pth_1_;
+ }
+ auto filesystem_open_zpod() {
+ assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_);
+ return pth_2_;
+ }
+ }
+ return _pods();
+ }
+ auto fn_pod_filelist(string fn_src) {
+ auto pod_root_ = pod_root(fn_src);
+ auto pth_1_ = "sisudoc.txt";
+ auto pth_2_ = pod_root(fn_src).filesystem_open_zpod.chainPath("sisudoc.txt").array;
+ struct _pods {
+ auto zpod() {
+ return pth_1_;
+ }
+ auto filesystem_open_zpod() {
+ assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_);
+ return pth_2_;
+ }
+ }
+ return _pods();
}
auto fn_doc(string fn_src) {
- return (doc_lng(fn_src)).chainPath(fn_src.baseName).array;
+ auto pod_root_ = pod_root(fn_src);
+ auto pth_1_ = doc_lng(fn_src).zpod.chainPath(fn_src.baseName).array;
+ auto pth_2_ = doc_lng(fn_src).filesystem_open_zpod.chainPath(fn_src.baseName).array;
+ struct _pods {
+ auto zpod() {
+ return pth_1_;
+ }
+ auto filesystem_open_zpod() {
+ assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_);
+ return pth_2_;
+ }
+ }
+ return _pods();
}
auto fn_doc_insert(string fn_src, string fn_insert) {
- return (doc_lng(fn_src)).chainPath(fn_insert.baseName).array;
+ auto pod_root_ = pod_root(fn_src);
+ auto pth_1_ = doc_lng(fn_src).zpod.chainPath(fn_insert.baseName).array;
+ auto pth_2_ = doc_lng(fn_src).filesystem_open_zpod.chainPath(fn_insert.baseName).array;
+ struct _pods {
+ auto zpod() {
+ return pth_1_;
+ }
+ auto filesystem_open_zpod() {
+ assert(pod_root_.filesystem_open_zpod.chainPath(zpod).array == pth_2_);
+ return pth_2_;
+ }
+ }
+ return _pods();
}
}
- return _PathsStruct();
+ return _PodPaths();
}
}
template SiSUoutPaths() {