def _test_rename_files(self, input_description, rules_text, expected_result, **options): files = [FileReference.from_test_repr(file_repr) for file_repr in input_description] rule_set = RuleSet.from_source(rules_text) rename_params = {key: value for key, value in options.items() if key != 'overrides'} renamed_files = rename_files(files, rule_set, **rename_params) if 'overrides' in options: # Normalize override specification overrides = { from_path.replace('/', os.sep): to_path.replace('/', os.sep) for from_path, to_path in options['overrides'].items() } renamed_files = apply_rename_overrides(renamed_files, convert_raw_overrides(overrides, None)) self.assertEquals( tuple(f.test_repr() for f in renamed_files), expected_result, )
def _recompute_sync_impl(self, renamed_files_before_overrides, overrides): self._update( status=BAONStatus.AVAILABLE, data=apply_rename_overrides(renamed_files_before_overrides, overrides) ) return True