pre-commit-hooks/pre_commit_hooks/mixed_line_ending.py
Morgan Courbet 93194b9c6a
Change --fix option from mixed_line_ending
To make it easier to use in the program (single string instead of a list
of strings)
2017-06-18 12:31:22 +02:00

56 lines
1.1 KiB
Python

import argparse
import sys
from enum import Enum
class CLIOption(Enum):
def __init__(self, optName):
self.optName = optName
class LineEnding(CLIOption):
CRLF = '\r\n', '\\r\\n', 'crlf'
LF = '\n', '\\n', 'lf'
def __init__(self, string, strPrint, optName):
self.string = string
self.strPrint = strPrint
self.optName = optName
class MixedLineEndingOption(CLIOption):
AUTO = 'auto'
NO = 'no'
CRLF = LineEnding.CRLF.optName
LF = LineEnding.LF.optName
def mixed_line_ending(argv=None):
args = _parse_arguments(argv)
print(args.fix)
return 0
def _parse_arguments(argv=None):
parser = argparse.ArgumentParser()
parser.add_argument(
'-f',
'--fix',
choices=[m.optName for m in MixedLineEndingOption],
default='auto',
help='Replace line ending with the specified. Default is "auto"')
parser.add_argument(
'-v',
'--verbose',
action="store_true",
help='Increase output verbosity')
args = parser.parse_args(argv)
return args
if __name__ == '__main__':
sys.exit(mixed_line_ending())