From dd7d4979e8ad1f53e839f8a701546c8ead155d6f Mon Sep 17 00:00:00 2001 From: Sergey Lavrinenko Date: Fri, 3 Apr 2015 19:24:33 +0300 Subject: [PATCH] Normalize filename in ZipLoader. Fixes #49 --- emails/loader/local_store.py | 2 ++ emails/testsuite/loader/test_loaders.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/emails/loader/local_store.py b/emails/loader/local_store.py index e88d297..e1cdb8f 100644 --- a/emails/loader/local_store.py +++ b/emails/loader/local_store.py @@ -202,6 +202,8 @@ class ZipLoader(BaseLoader): if self.base_path: name = path.join(self.base_path, name) + name = path.join(*split_template_path(name)) + self._unpack() if isinstance(name, str): diff --git a/emails/testsuite/loader/test_loaders.py b/emails/testsuite/loader/test_loaders.py index 69af4a1..6fca661 100644 --- a/emails/testsuite/loader/test_loaders.py +++ b/emails/testsuite/loader/test_loaders.py @@ -177,6 +177,7 @@ def test_local_store1(): assert 'images/arrow.png' in files_list assert len(files_list) in [15, 16] # TODO: remove directories from zip loader list_files results + assert loader.get_file('./images/img01.jpg') == loader.get_file('images/img01.jpg') def test_split_template_path(): @@ -206,4 +207,4 @@ def test_base_loader(): # Raises exception when no html file l._files = ['a.gif', '__MACOSX/.index.html'] with pytest.raises(FileNotFound): - print(l.find_index_file()) \ No newline at end of file + print(l.find_index_file())