def main(): parser = argparse.ArgumentParser(prog='git flow') placeholder = parser.add_subparsers(title='Subcommands') for cls in itersubclasses(GitFlowCommand): cls.register_parser(placeholder) args = parser.parse_args() try: args.func(args) except KeyboardInterrupt: raise SystemExit('Aborted by user request.')
def _discover_branch_managers(self): managers = {} for cls in itersubclasses(BranchManager): # TODO: Initialize managers with the gitflow branch prefixes managers[cls.identifier] = cls(self) return managers