Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/python
- import subprocess
- import argparse
- def sub_factory(parser, names):
- sub = parser.add_subparsers()
- for name in names:
- subp = sub.add_parser(name)
- subp.add_argument('issue', type=int, help='issue number')
- subp.set_defaults(func=globals().get(name))
- def find_branch(issue):
- for x in subprocess.check_output(['git', 'branch']).split('\n'):
- x = x.strip().replace('* ', '')
- if x.startswith('#{}_'.format(issue)):
- return x.decode('utf-8')
- def push(branch):
- subprocess.check_output(['git', 'push', 'origin', branch])
- def checkout(branch):
- subprocess.check_output(['git', 'checkout', branch])
- if __name__ == '__main__':
- COMMANDS = ['push', 'checkout']
- parser = argparse.ArgumentParser(description='git command aliases.')
- sub_factory(parser, COMMANDS)
- args = parser.parse_args()
- branch = find_branch(args.issue)
- args.func(branch)
Add Comment
Please, Sign In to add comment