diff --git a/pre_commit/commands/autoupdate.py b/pre_commit/commands/autoupdate.py index 69ff2782..36df87f8 100644 --- a/pre_commit/commands/autoupdate.py +++ b/pre_commit/commands/autoupdate.py @@ -9,11 +9,9 @@ from aspy.yaml import ordered_load import pre_commit.constants as C from pre_commit import output -from pre_commit.clientlib import CONFIG_SCHEMA from pre_commit.clientlib import is_local_repo from pre_commit.clientlib import load_config from pre_commit.repository import Repository -from pre_commit.schema import remove_defaults from pre_commit.util import CalledProcessError from pre_commit.util import cmd_output from pre_commit.util import cwd @@ -72,7 +70,6 @@ SHA_LINE_FMT = '{}sha:{}{}{}' def _write_new_config_file(path, output): original_contents = open(path).read() - output = remove_defaults(output, CONFIG_SCHEMA) new_contents = ordered_dump(output, **C.YAML_DUMP_KWARGS) lines = original_contents.splitlines(True) diff --git a/pre_commit/schema.py b/pre_commit/schema.py index 5f22277d..a911bb43 100644 --- a/pre_commit/schema.py +++ b/pre_commit/schema.py @@ -64,11 +64,6 @@ def _apply_default_optional(self, dct): dct.setdefault(self.key, self.default) -def _remove_default_optional(self, dct): - if dct.get(self.key, MISSING) == self.default: - del dct[self.key] - - def _require_key(self, dct): if self.key not in dct: raise ValidationError('Missing required key: {}'.format(self.key)) @@ -90,10 +85,6 @@ def _apply_default_required_recurse(self, dct): dct[self.key] = apply_defaults(dct[self.key], self.schema) -def _remove_default_required_recurse(self, dct): - dct[self.key] = remove_defaults(dct[self.key], self.schema) - - def _check_conditional(self, dct): if dct.get(self.condition_key, MISSING) == self.condition_value: _check_required(self, dct) @@ -119,22 +110,18 @@ def _check_conditional(self, dct): Required = collections.namedtuple('Required', ('key', 'check_fn')) Required.check = _check_required Required.apply_default = _dct_noop -Required.remove_default = _dct_noop RequiredRecurse = collections.namedtuple('RequiredRecurse', ('key', 'schema')) RequiredRecurse.check = _check_required RequiredRecurse.check_fn = _check_fn_required_recurse RequiredRecurse.apply_default = _apply_default_required_recurse -RequiredRecurse.remove_default = _remove_default_required_recurse Optional = collections.namedtuple('Optional', ('key', 'check_fn', 'default')) Optional.check = _check_optional Optional.apply_default = _apply_default_optional -Optional.remove_default = _remove_default_optional OptionalNoDefault = collections.namedtuple( 'OptionalNoDefault', ('key', 'check_fn'), ) OptionalNoDefault.check = _check_optional OptionalNoDefault.apply_default = _dct_noop -OptionalNoDefault.remove_default = _dct_noop Conditional = collections.namedtuple( 'Conditional', ('key', 'check_fn', 'condition_key', 'condition_value', 'ensure_absent'), @@ -142,7 +129,6 @@ Conditional = collections.namedtuple( Conditional.__new__.__defaults__ = (False,) Conditional.check = _check_conditional Conditional.apply_default = _dct_noop -Conditional.remove_default = _dct_noop class Map(collections.namedtuple('Map', ('object_name', 'id_key', 'items'))): @@ -168,12 +154,6 @@ class Map(collections.namedtuple('Map', ('object_name', 'id_key', 'items'))): item.apply_default(ret) return ret - def remove_defaults(self, v): - ret = v.copy() - for item in self.items: - item.remove_default(ret) - return ret - class Array(collections.namedtuple('Array', ('of',))): __slots__ = () @@ -190,9 +170,6 @@ class Array(collections.namedtuple('Array', ('of',))): def apply_defaults(self, v): return [apply_defaults(val, self.of) for val in v] - def remove_defaults(self, v): - return [remove_defaults(val, self.of) for val in v] - class Not(object): def __init__(self, val): @@ -257,10 +234,6 @@ def apply_defaults(v, schema): return schema.apply_defaults(v) -def remove_defaults(v, schema): - return schema.remove_defaults(v) - - def load_from_filename(filename, schema, load_strategy, exc_tp): with reraise_as(exc_tp): if not os.path.exists(filename): diff --git a/tests/schema_test.py b/tests/schema_test.py index c2ecf0fa..c133a997 100644 --- a/tests/schema_test.py +++ b/tests/schema_test.py @@ -21,7 +21,6 @@ from pre_commit.schema import MISSING from pre_commit.schema import Not from pre_commit.schema import Optional from pre_commit.schema import OptionalNoDefault -from pre_commit.schema import remove_defaults from pre_commit.schema import Required from pre_commit.schema import RequiredRecurse from pre_commit.schema import validate @@ -281,37 +280,6 @@ def test_apply_defaults_map_in_list(): assert ret == [{'key': False}] -def test_remove_defaults_copies_object(): - val = {'key': False} - ret = remove_defaults(val, map_optional) - assert ret is not val - - -def test_remove_defaults_removes_defaults(): - ret = remove_defaults({'key': False}, map_optional) - assert ret == {} - - -def test_remove_defaults_nothing_to_remove(): - ret = remove_defaults({}, map_optional) - assert ret == {} - - -def test_remove_defaults_does_not_change_non_default(): - ret = remove_defaults({'key': True}, map_optional) - assert ret == {'key': True} - - -def test_remove_defaults_map_in_list(): - ret = remove_defaults([{'key': False}], Array(map_optional)) - assert ret == [{}] - - -def test_remove_defaults_does_nothing_on_non_optional(): - ret = remove_defaults({'key': True}, map_required) - assert ret == {'key': True} - - nested_schema_required = Map( 'Repository', 'repo', Required('repo', check_any), @@ -342,12 +310,6 @@ def test_apply_defaults_nested(): assert ret == {'repo': 'repo1', 'hooks': [{'key': False}]} -def test_remove_defaults_nested(): - val = {'repo': 'repo1', 'hooks': [{'key': False}]} - ret = remove_defaults(val, nested_schema_optional) - assert ret == {'repo': 'repo1', 'hooks': [{}]} - - class Error(Exception): pass