示例#1
0
def load_config(config_filename):
    config = Config()
    config.add_handler_class(GitHandler)
    config.add_handler_class(RsyncHandler)
    config.add_handler_class(UnisonHandler)
    config.add_handler_class(CommandHandler)
    config.parse(path(config_filename).expanduser())
    return config
示例#2
0
    def test_parse(self):
        config = Config()
        config.add_handler_class(TestHandler)
        fp = StringIO(TEST_CONFIG)
        config.parsefp(fp)

        self.assertEqual(len(config.groups), 2)
        self.assert_("daily" in config.groups)
        self.assert_("manual" in config.groups)

        group = config.groups["daily"]
        self.assertEqual(len(group.handlers), 2)
        self.assertEqual(group.handlers[0].path, "/daily1")
        self.assertEqual(group.handlers[1].path, "/daily2")

        group = config.groups["manual"]
        home_path = path("~/manual").expanduser()
        opt_path = "/opt"
        self.assertEqual(len(group.handlers), 2)
        self.assertEqual(group.handlers[0].path, home_path)
        self.assertEqual(group.handlers[1].path, opt_path)

        # Check opt_path
        self.assertEqual(group.handlers[1].options, {"opt1":"foo", "opt2":"bar"})