Evan Miller 13 лет назад
Родитель
Сommit
6e36de6122
2 измененных файлов с 15 добавлено и 10 удалено
  1. 14 9
      src/erlydtl_compiler.erl
  2. 1 1
      src/erlydtl_runtime.erl

+ 14 - 9
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),

+ 1 - 1
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)},