def main(): parser = setup_parser() args = parser.parse_args() args.charmhome = args.charmhome or os.getenv('CHARM_HOME', '.') args.config = None if args.verbose: logging.basicConfig( format='%(levelname)s %(filename)s: %(message)s', level=logging.DEBUG, ) else: logging.basicConfig( format='%(levelname)s: %(message)s', level=logging.INFO, ) if not args.template: log.info( "Using default charm template (%s). To select a different " "template, use the -t option.", DEFAULT_TEMPLATE) args.template = DEFAULT_TEMPLATE elif args.template not in get_installed_templates(): raise Exception("No template available for '%s'. Available templates " "may be listed by running 'charm create --help'.") generator = CharmGenerator(args) try: generator.create_charm() return 0 except CharmGeneratorException as e: log.error(str(e)) return 1
def setup_parser(): parser = argparse.ArgumentParser(description="create a new charm") parser.add_argument("charmname", help="Name of charm to create.") parser.add_argument("charmhome", nargs="?", help="Dir to create charm in. Defaults to CHARM_HOME env var or PWD") parser.add_argument( "-t", "--template", default=None, help="Name of charm template to use; default is " + DEFAULT_TEMPLATE + ". Installed templates: " + ", ".join(get_installed_templates()), ) parser.add_argument( "-a", "--accept-defaults", help="Accept all template configuration defaults without prompting.", action="store_true", default=False, ) parser.add_argument("-v", "--verbose", help="Print debug information", action="store_true", default=False) utils.add_plugin_description(parser) return parser
def setup_parser(): parser = argparse.ArgumentParser( description='create a new charm') parser.add_argument( 'charmname', help='Name of charm to create.', ) parser.add_argument( 'charmhome', nargs='?', help='Dir to create charm in. Defaults to CHARM_HOME env var or PWD', ) parser.add_argument( '-t', '--template', default=None, help='Name of charm template to use; default is ' + DEFAULT_TEMPLATE + '. Installed templates: ' + ', '.join(get_installed_templates()), ) parser.add_argument( '-a', '--accept-defaults', help='Accept all template configuration defaults without prompting.', action='store_true', default=False, ) parser.add_argument( '-v', '--verbose', help='Print debug information', action='store_true', default=False, ) utils.add_plugin_description(parser) return parser