diff options
author | Ralph Amissah <ralph@amissah.com> | 2017-11-08 20:02:48 -0500 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2019-04-10 15:14:14 -0400 |
commit | 1d68345250b0fd26d3ea657ed28899dccaa324df (patch) | |
tree | a94ad71bfc5d081c15fd253f6bcc7a694141cd7f /src/sdp/output/paths_output.d | |
parent | 0.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.d | 320 |
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() { |