def do_action_submit(self, args): # key-value pair in --update option would support nested key, e.g. defaults->virtualCluster=<your-virtual-cluster> self.__job__.load(fname=args.config) if args.update: for s in args.update: key, value = s.split("=") Nested(self.__job__.protocol).set(key, value) return self.submit_it(args)
def test_set(self): nested_obj = { "a": [{ "aa0": { "aaa": "val_aaa" }, }, { "aa1": { "aaa1": "val_aaa1" } }], "b": "haha" } n = Nested(nested_obj, sep="->") self.assertEqual(n.get("a->0->aa0->aaa"), "val_aaa") with self.assertRaises(KeyError): nested_obj["a"][1]["aa2"]["aaa"] n.set("a->1->aa2->aaa", "val_aaa2") self.assertEqual(nested_obj["a"][1]["aa2"]["aaa"], "val_aaa2")