diff options
author | dakkar <dakkar@thenautilus.net> | 2015-09-06 15:27:50 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2015-09-06 15:27:50 +0100 |
commit | 3f439cd25065e13ac487efc68538f56a6b5f8f1e (patch) | |
tree | 860f8152d7476e0bdd4c8393b817c920ae6504cc /lib/WebCoso.pm | |
parent | random flailing for deps (diff) | |
download | WebCoso-p6-3f439cd25065e13ac487efc68538f56a6b5f8f1e.tar.gz WebCoso-p6-3f439cd25065e13ac487efc68538f56a6b5f8f1e.tar.bz2 WebCoso-p6-3f439cd25065e13ac487efc68538f56a6b5f8f1e.zip |
deps almost working
Diffstat (limited to 'lib/WebCoso.pm')
-rw-r--r-- | lib/WebCoso.pm | 44 |
1 files changed, 28 insertions, 16 deletions
diff --git a/lib/WebCoso.pm b/lib/WebCoso.pm index 6e3da7e..57818d5 100644 --- a/lib/WebCoso.pm +++ b/lib/WebCoso.pm @@ -10,32 +10,44 @@ class WebCoso { has %!docs; method get-src-files($dir,$basename,$ext) { - return try { - CATCH { when X::IO { } } - ( $dir ?? $.srcdir.child($dir) !! $.srcdir ).dir( - test => /$basename \. .+? \. $ext/, - ); - } // (); + say "WebCoso($.srcdir,$.destdir,$!tmpdir)::get-src-files($dir,$basename,$ext)"; + my @files = gather { + for $.srcdir,$!tmpdir -> $base { + take $_ for try { + CATCH { when X::IO { } } + ( $dir ?? $base.child($dir) !! $base ).dir( + test => /$basename \. .+? \. $ext/, + ) + } // (); + } + } + say "WebCoso($.srcdir,$.destdir,$!tmpdir)::get-src-files($dir,$basename,$ext) files = {@files.perl}"; + return ( + map { + (.basename ~~ /$basename \. (.+?) \. $ext/)[0] + => + $_ + }, @files + ).values; } method get-made-files($dir,$basename,$ext) { + say "WebCoso($.srcdir,$.destdir,$!tmpdir)::get-made-files($dir,$basename,$ext)"; if %!docs{$dir}{$basename} -> $doc { - return $doc.get-files-by-ext($ext) + say "WebCoso($.srcdir,$.destdir,$!tmpdir)::get-made-files($dir,$basename,$ext) at $doc"; + return $doc.make-by-ext($ext) } - return; + return (); } - method get-files($dir,$basename,$ext) { - my @files = self.get-src-files($dir,$basename,$ext) // self.get-made-files($dir,$basename,$ext); - - return map { - (.basename ~~ /$basename \. (.+?) \. $ext/)[0] - => - $_ - }, @files; + method get-files($dir,$basename,$ext,:$make=True) { + say "WebCoso($.srcdir,$.destdir,$!tmpdir)::get-files($dir,$basename,$ext,$make)"; + return self.get-src-files($dir,$basename,$ext) || + ( $make ?? self.get-made-files($dir,$basename,$ext) !! () ); } method put-file($dir,$basename,$lang,$ext,$contents) { + say "WebCoso($.srcdir,$.destdir,$!tmpdir)::put-file($dir,$basename,$lang,$ext)"; my $t = ($dir ?? $!tmpdir.child($dir) !! $!tmpdir); $t.mkdir; my $f = $t.child("{$basename}.{$lang}.{$ext}"); |