From 9d2f5c72412b0f6c0639ccb3c0ad7174f5983ef4 Mon Sep 17 00:00:00 2001 From: Dan Puttick Date: Wed, 22 Feb 2017 16:06:51 -0500 Subject: [PATCH] Add .jpg test file, testfile_directory.md - Also fixed a bug with metadata code --- kittengroomer/helpers.py | 6 +++--- tests/src_valid/Example.jpg | Bin 0 -> 27661 bytes tests/testfile_catalog.md | 12 ++++++++++++ 3 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 tests/src_valid/Example.jpg create mode 100644 tests/testfile_catalog.md diff --git a/kittengroomer/helpers.py b/kittengroomer/helpers.py index 1e24140..3455bbd 100644 --- a/kittengroomer/helpers.py +++ b/kittengroomer/helpers.py @@ -165,9 +165,9 @@ class FileBase(object): self.dst_path + "\", type '" + ext + "': File exists.") else: - # TODO: Uncomment these after object relationships are fixed - # dst_dir_path, filename = os.path.split(self.dst_path) - # self._safe_mkdir(dst_dir_path) + dst_dir_path, filename = os.path.split(self.dst_path) + if not os.path.exists(dst_dir_path): + os.makedirs(dst_dir_path) # TODO: Check extension for leading "." self.metadata_file_path = self.dst_path + ext return self.metadata_file_path diff --git a/tests/src_valid/Example.jpg b/tests/src_valid/Example.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a686d104cd5fcd90f06c6f94c2166c7aea00c11e GIT binary patch literal 27661 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 literal 0 HcmV?d00001 diff --git a/tests/testfile_catalog.md b/tests/testfile_catalog.md new file mode 100644 index 0000000..692daf8 --- /dev/null +++ b/tests/testfile_catalog.md @@ -0,0 +1,12 @@ +src_invalid +=========== + +- + + + +src_valid +========= + +- Example.jpg: image/jpeg, obtained from wikipedia.org +- blah.conf: text file with a .conf extension \ No newline at end of file