def main(): # Create the parser. args = docopt(__doc__, version='Saliere 0.2.0') # Create the templatizer object. t = Templatizer(template_path_list) # List the templates if asked to. if args.get('--list'): print("Available templates: \n\t" + "\n\t".join(t.list_templates())) exit(0) # Retrieve the template path. template_path = t.locate_template(args.get('<type>')) if not template_path: print("The template name you specified ('{}') does not exist.".format(args.get('<type>'))) exit(1) # Get the project type. t.template_type = args.get('<type>') # Load the template variables, if any, from the configuration file. config = Config() if args.get('-c'): config.load_from_file(args.get('-c')) template_vars = config.get_value(args.get('<type>')) # Load the template variables, if any, from the command line. if args.get('--var'): # Load the variables and override the values from the config file with the values from the CLI. template_vars.update(load_variables(args.get('--var'))) # Call the copy function. t.copy(args.get('<name>'), os.path.expanduser(args.get('--output')), template_vars)
class TestConfig(unittest.TestCase): config_file = "config.yml" config_string = """ common: testkey: "test value" """ def setUp(self): self.c = Config() self. c.load_from_string(self.config_string) def test_key_lookup_00(self): value = self. c.get_value("common:testkey") self.assertEqual(value, "test value") def test_key_lookup_01(self): value = self.c.get_value("common:missingkey") self.assertEqual(value, None) def test_key_lookup_02(self): value = self.c.get_value("common:missingkey", "missing value") self.assertEqual(value, "missing value") def test_load_file_00(self): self.assertIsNotNone(self.c.config)
def main(): # Create the parser. args = docopt(__doc__, version='Saliere 0.2.0') # Create the templatizer object. t = Templatizer(template_path_list) # List the templates if asked to. if args.get('--list'): print("Available templates: \n\t" + "\n\t".join(t.list_templates())) exit(0) # Ensure the project name and project type are specified. if not args.get('--name') or not args.get('--type'): print("The template type and project name are required: -t type -n name.") exit(1) # Retrieve the template path. template_path = t.locate_template(args.get('--type')) if not template_path: print("The template name you specified does not exist.") exit(1) # Get the project type. t.template_type = args.get('--type') # Load the template variables, if any, from the configuration file. config = Config() if args.get('-c'): config.load_from_file(args.get('-c')) template_vars = config.get_value(args.get('--type')) # Load the template variables, if any, from the command line. if args.get('--var'): vars_split = args.get('--var').split('|') vars_list = [v.split('=', 1) for v in vars_split if '=' in v] cli_template_vars = dict(vars_list) # And override the values from the config file with the values from the CLI. template_vars.update(cli_template_vars) # Call the copy function. t.copy(args.get('--name'), args.get('--output'), template_vars)
def setUp(self): self.c = Config() self.c.load_from_string(self.config_string)