pre-commit-hooks/pre_commit_hooks/loaderon-hooks/general_hooks/check_xml_encoding.py
Alvaro Andrés Rodríguez Scelza 0a66e6635d Added loaderon-hooks logic
2019-06-02 02:10:25 -03:00

30 lines
1,020 B
Python

# -*- coding: utf-8 -*-
from pre_commit_logic.util.template_methods.file_checker_template_method import FileCheckerTemplateMethod
from pre_commit_logic.util.file_helpers import read_file_line
class XMLEncodingChecker(FileCheckerTemplateMethod):
def _add_arguments_to_parser(self):
super(XMLEncodingChecker, self)._add_arguments_to_parser()
self.parser.add_argument('-e', '--encoding', help='Desired encoding.')
def _check_file(self):
first_line = read_file_line(self.filename)
desired_encoding = self.args.encoding.rstrip()
first_line = first_line.rstrip('\n')
if first_line != desired_encoding:
self.inform_check_failure(
'El archivo {} no comienza con la línea "{}" (verifica también espacios en blanco)'.format(
self.filename,
desired_encoding
)
)
def main(argv=None):
return XMLEncodingChecker(argv).run()
if __name__ == '__main__':
exit(main())