From 6e36de61225cbfbbc73b6cb5e4b596ee35110f6a Mon Sep 17 00:00:00 2001 From: Evan Miller Date: Tue, 17 Jan 2012 10:59:01 -0600 Subject: [PATCH] Fix compile_dir --- src/erlydtl_compiler.erl | 23 ++++++++++++++--------- src/erlydtl_runtime.erl | 2 +- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/erlydtl_compiler.erl b/src/erlydtl_compiler.erl index dda5bbf..e62bb62 100755 --- a/src/erlydtl_compiler.erl +++ b/src/erlydtl_compiler.erl @@ -118,17 +118,22 @@ compile_dir(Dir, Module, Options) -> Context = init_dtl_context_dir(Dir, Module, Options), Files = filelib:fold_files(Dir, ".*", true, fun(F1,Acc1) -> [F1 | Acc1] end, []), {ParserResults, ParserErrors} = lists:foldl(fun - ("."++_, Acc) -> Acc; (File, {ResultAcc, ErrorAcc}) -> - FilePath = filename:join([Dir, File]), - case filelib:is_dir(FilePath) of - true -> + case filename:basename(File) of + "."++_ -> {ResultAcc, ErrorAcc}; - false -> - case parse(FilePath, Context) of - ok -> {ResultAcc, ErrorAcc}; - {ok, DjangoParseTree, CheckSum} -> {[{File, DjangoParseTree, CheckSum}|ResultAcc], ErrorAcc}; - Err -> {ResultAcc, [Err|ErrorAcc]} + _ -> + FilePath = filename:absname(File), + case filelib:is_dir(FilePath) of + true -> + {ResultAcc, ErrorAcc}; + false -> + case parse(FilePath, Context) of + ok -> {ResultAcc, ErrorAcc}; + {ok, DjangoParseTree, CheckSum} -> + {[{File, DjangoParseTree, CheckSum}|ResultAcc], ErrorAcc}; + Err -> {ResultAcc, [Err|ErrorAcc]} + end end end end, {[], []}, Files), diff --git a/src/erlydtl_runtime.erl b/src/erlydtl_runtime.erl index bb66e0a..f35b99c 100644 --- a/src/erlydtl_runtime.erl +++ b/src/erlydtl_runtime.erl @@ -174,7 +174,7 @@ stringify_final([El | Rest], Out, BinaryStrings) -> init_counter_stats(List) -> init_counter_stats(List, undefined). -init_counter_stats(List, Parent) -> +init_counter_stats(List, Parent) when is_list(List) -> [{counter, 1}, {counter0, 0}, {revcounter, length(List)},