def test_no_remove(self): dirs = [self.mkdir('dir'+str(n)) for n in range(10)] for d in dirs: assert os.path.exists(d), d cleanup_directory(self.tmpdir, timestamp_before(minutes=1)) for d in dirs: assert os.path.exists(d), d
def test_no_remove(self): dirs = [self.mkdir('dir' + str(n)) for n in range(10)] for d in dirs: assert os.path.exists(d), d cleanup_directory(self.tmpdir, timestamp_before(minutes=1)) for d in dirs: assert os.path.exists(d), d
def test_remove_some(self): files = [] # create a few files, every other file is one week old new_date = timestamp_before(weeks=1) for n in range(10): fname = 'foo' + str(n) filename = self.mkfile(fname) if n % 2 == 0: os.utime(filename, (new_date, new_date)) files.append(filename) # check all files are present for filename in files: assert os.path.exists(filename), filename # cleanup_directory for all files older then one minute cleanup_directory(self.tmpdir, timestamp_before(minutes=1)) # check old files and dirs are removed for filename in files[::2]: assert not os.path.exists(filename), filename assert not os.path.exists(os.path.dirname(filename)), filename # check new files are still present for filename in files[1::2]: assert os.path.exists(filename), filename
def simple_cleanup(task, dry_run, progress_logger=None, cleanup_progress=None): """ Cleanup cache level on file system level. """ for level in task.levels: level_dir = task.tile_manager.cache.level_location(level) if dry_run: def file_handler(filename): print('removing ' + filename) else: file_handler = None if progress_logger: progress_logger.log_message('removing old tiles in ' + normpath(level_dir)) if progress_logger.progress_store: cleanup_progress.step_dir(level_dir) if cleanup_progress.already_processed(): continue progress_logger.progress_store.add( task.id, cleanup_progress.current_progress_identifier(), ) progress_logger.progress_store.write() cleanup_directory(level_dir, task.remove_timestamp, file_handler=file_handler, remove_empty_dirs=True)
def test_remove_some(self): files = [] # create a few files, every other file is one week old new_date = timestamp_before(weeks=1) for n in range(10): fname = 'foo'+str(n) filename = self.mkfile(fname) if n % 2 == 0: os.utime(filename, (new_date, new_date)) files.append(filename) # check all files are present for filename in files: assert os.path.exists(filename), filename # cleanup_directory for all files older then one minute cleanup_directory(self.tmpdir, timestamp_before(minutes=1)) # check old files and dirs are removed for filename in files[::2]: assert not os.path.exists(filename), filename assert not os.path.exists(os.path.dirname(filename)), filename # check new files are still present for filename in files[1::2]: assert os.path.exists(filename), filename
def test_remove_all(self): files = [] new_date = timestamp_before(weeks=1) for n in range(10): fname = 'foo'+str(n) filename = self.mkfile(fname) os.utime(filename, (new_date, new_date)) files.append(filename) for filename in files: assert os.path.exists(filename), filename cleanup_directory(self.tmpdir, timestamp_before()) for filename in files: assert not os.path.exists(filename), filename assert not os.path.exists(os.path.dirname(filename)), filename
def test_remove_all(self): files = [] new_date = timestamp_before(weeks=1) for n in range(10): fname = 'foo' + str(n) filename = self.mkfile(fname) os.utime(filename, (new_date, new_date)) files.append(filename) for filename in files: assert os.path.exists(filename), filename cleanup_directory(self.tmpdir, timestamp_before()) for filename in files: assert not os.path.exists(filename), filename assert not os.path.exists(os.path.dirname(filename)), filename
def simple_cleanup(task, dry_run, progress_logger=None): """ Cleanup cache level on file system level. """ for level in task.levels: level_dir = task.tile_manager.cache.level_location(level) if dry_run: def file_handler(filename): print('removing ' + filename) else: file_handler = None if progress_logger: progress_logger.log_message('removing old tiles in ' + normpath(level_dir)) cleanup_directory(level_dir, task.remove_timestamp, file_handler=file_handler, remove_empty_dirs=True)
def test_file_handler(self): files = [] file_handler_calls = [] def file_handler(filename): file_handler_calls.append(filename) new_date = timestamp_before(weeks=1) for n in range(10): fname = 'foo'+str(n) filename = self.mkfile(fname) os.utime(filename, (new_date, new_date)) files.append(filename) for filename in files: assert os.path.exists(filename), filename cleanup_directory(self.tmpdir, timestamp_before(), file_handler=file_handler) for filename in files: assert os.path.exists(filename), filename assert set(files) == set(file_handler_calls)
def test_file_handler(self): files = [] file_handler_calls = [] def file_handler(filename): file_handler_calls.append(filename) new_date = timestamp_before(weeks=1) for n in range(10): fname = 'foo' + str(n) filename = self.mkfile(fname) os.utime(filename, (new_date, new_date)) files.append(filename) for filename in files: assert os.path.exists(filename), filename cleanup_directory(self.tmpdir, timestamp_before(), file_handler=file_handler) for filename in files: assert os.path.exists(filename), filename assert set(files) == set(file_handler_calls)
def test_remove_empty_dirs(self): os.makedirs(os.path.join(self.tmpdir, 'foo', 'bar', 'baz')) cleanup_directory(self.tmpdir, timestamp_before(minutes=-1)) assert not os.path.exists(os.path.join(self.tmpdir, 'foo'))
def test_no_directory(self): cleanup_directory(os.path.join(self.tmpdir, 'invalid'), timestamp_before())