def testClearDir(self): file1 = os.path.join(self.path, 'file1') file2 = os.path.join(self.path, 'file2') dir1 = os.path.join(self.path, 'dir1') dir2 = os.path.join(self.path, 'dir2') file3 = os.path.join(dir1, 'file3') file4 = os.path.join(dir2, 'file4') open(file1, 'w').close() open(file2, 'w').close() if not os.path.isdir(dir1): os.mkdir(dir1) if not os.path.isdir(dir2): os.mkdir(dir2) open(file3, 'w').close() open(file4, 'w').close() self.assertTrue(os.path.isfile(file1)) self.assertTrue(os.path.isfile(file2)) self.assertTrue(os.path.isfile(file3)) self.assertTrue(os.path.isfile(file4)) self.assertTrue(os.path.isdir(dir1)) self.assertTrue(os.path.isdir(dir2)) dm = DirManager(self.path) dm.clear_dir(dm.root_path) self.assertFalse(os.path.isfile(file1)) self.assertFalse(os.path.isfile(file3)) self.assertFalse(os.path.isdir(dir1)) self.assertFalse(os.path.isfile(file2)) self.assertFalse(os.path.isfile(file4)) self.assertFalse(os.path.isdir(dir2))
def testClearDirOlderThan(self): # given file1 = os.path.join(self.path, 'file1') file2 = os.path.join(self.path, 'file2') dir1 = os.path.join(self.path, 'dir1') dir2 = os.path.join(self.path, 'dir2') file3 = os.path.join(dir1, 'file3') file4 = os.path.join(dir2, 'file4') open(file1, 'w').close() open(file2, 'w').close() if not os.path.isdir(dir1): os.mkdir(dir1) if not os.path.isdir(dir2): os.mkdir(dir2) open(file3, 'w').close() open(file4, 'w').close() two_hours_ago = time.time() - 2*60*60 os.utime(file1, times=(two_hours_ago, two_hours_ago)) os.utime(dir1, times=(two_hours_ago, two_hours_ago)) assert os.path.isfile(file1) assert os.path.isfile(file2) assert os.path.isfile(file3) assert os.path.isfile(file4) assert os.path.isdir(dir1) assert os.path.isdir(dir2) # when dm = DirManager(self.path) dm.clear_dir(dm.root_path, older_than_seconds=60*60) # then assert not os.path.isfile(file1) assert os.path.isfile(file2) assert not os.path.isdir(dir1) assert not os.path.isfile(file3) assert os.path.isdir(dir2) assert os.path.isfile(file4)
def remove_received_files(self): dir_manager = DirManager(self.datadir) dir_manager.clear_dir(self.get_received_files_dir())
def remove_distributed_files(self): dir_manager = DirManager(self.datadir) dir_manager.clear_dir(self.get_distributed_files_dir())