dotfiles/bin/system-parameters

42 lines
1.1 KiB
Text
Raw Normal View History

#!/usr/bin/env python3
import argparse
from eryntools.dotfiles.system_parameters import CommandParameter, SystemParameters
class HomebrewPrefix(CommandParameter):
def __init__(self):
super().__init__(['brew', '--prefix'])
class XcodeSelectPrintPath(CommandParameter):
def __init__(self):
super().__init__(['xcode-select', '-p'])
def main(argv):
parser = argparse.ArgumentParser(prog=argv[0])
parser.add_argument('-f', '--file', type=argparse.FileType('r'))
parser.add_argument('-o', '--output', type=argparse.FileType('w'), default=sys.stdout)
arguments = parser.parse_args(argv[1:])
output_parameters = SystemParameters()
if arguments.file:
output_parameters.load_from_file(arguments.file)
parameters = {
'homebrew_prefix': HomebrewPrefix(),
'xcode_path': XcodeSelectPrintPath(),
}
for name, parameter in parameters.items():
setattr(output_parameters, name, parameter)
output_parameters.write_to_file(arguments.output)
if __name__ == "__main__":
import sys
sys.exit(main(sys.argv) or 0)