def _hook(*hook_dicts, **kwargs): root_config = kwargs.pop('root_config') assert not kwargs, kwargs ret, rest = dict(hook_dicts[0]), hook_dicts[1:] for dct in rest: ret.update(dct) version = ret['minimum_pre_commit_version'] if parse_version(version) > parse_version(C.VERSION): logger.error( 'The hook `{}` requires pre-commit version {} but version {} ' 'is installed. ' 'Perhaps run `pip install --upgrade pre-commit`.'.format( ret['id'], version, C.VERSION, ), ) exit(1) lang = ret['language'] if ret['language_version'] == C.DEFAULT: ret['language_version'] = root_config['default_language_version'][lang] if ret['language_version'] == C.DEFAULT: ret['language_version'] = languages[lang].get_default_version() if not ret['stages']: ret['stages'] = root_config['default_stages'] return ret
def check_min_version(version: str) -> None: if parse_version(version) > parse_version(C.VERSION): raise cfgv.ValidationError( f'pre-commit version {version} is required but version ' f'{C.VERSION} is installed. ' f'Perhaps run `pip install --upgrade pre-commit`.', )
def _hook( *hook_dicts: Dict[str, Any], root_config: Dict[str, Any], ) -> Dict[str, Any]: ret, rest = dict(hook_dicts[0]), hook_dicts[1:] for dct in rest: ret.update(dct) version = ret['minimum_pre_commit_version'] if parse_version(version) > parse_version(C.VERSION): logger.error( f'The hook `{ret["id"]}` requires pre-commit version {version} ' f'but version {C.VERSION} is installed. ' f'Perhaps run `pip install --upgrade pre-commit`.', ) exit(1) lang = ret['language'] if ret['language_version'] == C.DEFAULT: ret['language_version'] = root_config['default_language_version'][lang] if ret['language_version'] == C.DEFAULT: ret['language_version'] = languages[lang].get_default_version() if not ret['stages']: ret['stages'] = root_config['default_stages'] return ret
def _hook(*hook_dicts, **kwargs): root_config = kwargs.pop('root_config') assert not kwargs, kwargs ret, rest = dict(hook_dicts[0]), hook_dicts[1:] for dct in rest: ret.update(dct) version = ret['minimum_pre_commit_version'] if parse_version(version) > parse_version(C.VERSION): logger.error( 'The hook `{}` requires pre-commit version {} but version {} ' 'is installed. ' 'Perhaps run `pip install --upgrade pre-commit`.'.format( ret['id'], version, C.VERSION, ), ) exit(1) lang = ret['language'] if ret['language_version'] == C.DEFAULT: ret['language_version'] = root_config['default_language_version'][lang] if ret['language_version'] == C.DEFAULT: ret['language_version'] = languages[lang].get_default_version() if not ret['stages']: ret['stages'] = root_config['default_stages'] return ret
def check_min_version(version): if parse_version(version) > parse_version(C.VERSION): raise cfgv.ValidationError( 'pre-commit version {} is required but version {} is installed. ' 'Perhaps run `pip install --upgrade pre-commit`.'.format( version, C.VERSION, ), )
def check_min_version(version): if parse_version(version) > parse_version(C.VERSION): raise cfgv.ValidationError( 'pre-commit version {} is required but version {} is installed. ' 'Perhaps run `pip install --upgrade pre-commit`.'.format( version, C.VERSION, ), )
def _hook( *hook_dicts: Dict[str, Any], root_config: Dict[str, Any], ) -> Dict[str, Any]: ret, rest = dict(hook_dicts[0]), hook_dicts[1:] for dct in rest: ret.update(dct) version = ret['minimum_pre_commit_version'] if parse_version(version) > parse_version(C.VERSION): logger.error( f'The hook `{ret["id"]}` requires pre-commit version {version} ' f'but version {C.VERSION} is installed. ' f'Perhaps run `pip install --upgrade pre-commit`.', ) exit(1) lang = ret['language'] if ret['language_version'] == C.DEFAULT: ret['language_version'] = root_config['default_language_version'][lang] if ret['language_version'] == C.DEFAULT: ret['language_version'] = languages[lang].get_default_version() if not ret['stages']: ret['stages'] = root_config['default_stages'] if languages[lang].ENVIRONMENT_DIR is None: if ret['language_version'] != C.DEFAULT: logger.error( f'The hook `{ret["id"]}` specifies `language_version` but is ' f'using language `{lang}` which does not install an ' f'environment. ' f'Perhaps you meant to use a specific language?', ) exit(1) if ret['additional_dependencies']: logger.error( f'The hook `{ret["id"]}` specifies `additional_dependencies` ' f'but is using language `{lang}` which does not install an ' f'environment. ' f'Perhaps you meant to use a specific language?', ) exit(1) return ret
def _hook(*hook_dicts): ret, rest = dict(hook_dicts[0]), hook_dicts[1:] for dct in rest: ret.update(dct) version = ret['minimum_pre_commit_version'] if parse_version(version) > parse_version(C.VERSION): logger.error( 'The hook `{}` requires pre-commit version {} but version {} ' 'is installed. ' 'Perhaps run `pip install --upgrade pre-commit`.'.format( ret['id'], version, C.VERSION, ), ) exit(1) if ret['language_version'] == 'default': language = languages[ret['language']] ret['language_version'] = language.get_default_version() return ret
def test_parse_version(): assert parse_version('0.0') == parse_version('0.0') assert parse_version('0.1') > parse_version('0.0') assert parse_version('2.1') >= parse_version('2')