X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=directory_filter.py;h=8d03ff603d425bddc24267061a902f67ac7bb3b1;hb=36fea7f15ed17150691b5b3ead75450e575229ef;hp=03602d156a0929ba6b60ac094d264359e3426d6d;hpb=52290f9c9e0eeaba3d5a067043f5ba98c9b386e5;p=python_utils.git diff --git a/directory_filter.py b/directory_filter.py index 03602d1..8d03ff6 100644 --- a/directory_filter.py +++ b/directory_filter.py @@ -30,9 +30,11 @@ class DirectoryFileFilter(object): >>> os.remove(testfile) """ + def __init__(self, directory: str): super().__init__() import file_utils + if not file_utils.does_directory_exist(directory): raise ValueError(directory) self.directory = directory @@ -49,12 +51,15 @@ class DirectoryFileFilter(object): def _update_file(self, filename: str, mtime: Optional[float] = None): import file_utils + assert file_utils.does_file_exist(filename) if mtime is None: mtime = file_utils.get_file_raw_mtime(filename) if self.mtime_by_filename.get(filename, 0) != mtime: md5 = file_utils.get_file_md5(filename) - logger.debug(f'Computed/stored {filename}\'s MD5 at ts={mtime} ({md5})') + logger.debug( + f'Computed/stored {filename}\'s MD5 at ts={mtime} ({md5})' + ) self.mtime_by_filename[filename] = mtime self.md5_by_filename[filename] = md5 @@ -97,12 +102,14 @@ class DirectoryAllFilesFilter(DirectoryFileFilter): >>> os.remove(testfile) """ + def __init__(self, directory: str): self.all_md5s = set() super().__init__(directory) def _update_file(self, filename: str, mtime: Optional[float] = None): import file_utils + assert file_utils.does_file_exist(filename) if mtime is None: mtime = file_utils.get_file_raw_mtime(filename) @@ -122,4 +129,5 @@ class DirectoryAllFilesFilter(DirectoryFileFilter): if __name__ == '__main__': import doctest + doctest.testmod()