From 07cd251aaa3aecaf21637f2787904580650a5777 Mon Sep 17 00:00:00 2001 From: The Magician Date: Fri, 20 Oct 2023 20:03:39 +0100 Subject: [PATCH] Write get_missing_filenames --- jardin.py | 9 +++++++++ test_jardin.py | 8 ++++++++ 2 files changed, 17 insertions(+) diff --git a/jardin.py b/jardin.py index cce8248..3e314a4 100755 --- a/jardin.py +++ b/jardin.py @@ -51,6 +51,15 @@ def get_garden_filenames(browser): def get_local_filenames(directory): return os.listdir(directory) +def get_missing_filenames(localFiles, gardenFiles): + missingFilenames = [] + + for localFile in localFiles: + if localFile not in gardenFiles: + missingFilenames.append(localFile) + + return missingFilenames + def main(email, password, directory): browser = initialize_webdriver() navigate_to_filegarden(browser) diff --git a/test_jardin.py b/test_jardin.py index 63052a8..2ae58ce 100755 --- a/test_jardin.py +++ b/test_jardin.py @@ -125,6 +125,14 @@ class TestJardin(unittest.TestCase): mockListdir.assert_called_once_with(mockDirectory) self.assertEqual(localFiles, mockFiles) + def test_get_missing_filenames_returns_local_filenames_without_garden_filenames(self): + mockLocalFilenames = ["file1.jpg", "file2.jpg", "file3.jpg", "file4.jpg", "file5.jpg"] + mockGardenFilenames = ["file2.jpg", "file4.jpg", "file6.jpg", "file8.jpg", "file10.jpg"] + + missingFilenames = jardin.get_missing_filenames(mockLocalFilenames, mockGardenFilenames) + + self.assertEqual(missingFilenames, ["file1.jpg", "file3.jpg", "file5.jpg"]) + @patch("jardin.initialize_webdriver") @patch("jardin.navigate_to_filegarden") @patch("jardin.login_with_password")