diff options
| -rw-r--r-- | Makefile | 3 | ||||
| -rw-r--r-- | interface-definitions/cron.xml | 7 | ||||
| -rwxr-xr-x | scripts/build-command-templates | 19 | 
3 files changed, 24 insertions, 5 deletions
@@ -5,6 +5,9 @@ TMPL_DIR := templates  interface_definitions:  	find $(CURDIR)/interface-definitions/ -type f | xargs -I {} $(CURDIR)/scripts/build-command-templates {} $(CURDIR)/schema/interface_definition.rng $(TMPL_DIR) +	# XXX: delete top level node.def's that now live in other packages +	rm $(TMPL_DIR)/system/node.def +  .PHONY: all  all: interface_definitions diff --git a/interface-definitions/cron.xml b/interface-definitions/cron.xml index 1982ac87c..8ea291a2e 100644 --- a/interface-definitions/cron.xml +++ b/interface-definitions/cron.xml @@ -3,11 +3,14 @@  <!-- Cron configuration -->  <interfaceDefinition> -  <node name="system" owner="vyos-update-cron"> +  <node name="system">      <children>        <node name="task-scheduler"> +        <properties> +          <help>Task scheduler settings</help> +        </properties>          <children> -          <tagNode name="task"> +          <tagNode name="task" owner="${vyatta_sbindir}/vyos-update-crontab.py">              <properties>                <help>Scheduled task</help>                <valueHelp> diff --git a/scripts/build-command-templates b/scripts/build-command-templates index 3c95bde21..17442bfcb 100755 --- a/scripts/build-command-templates +++ b/scripts/build-command-templates @@ -70,7 +70,7 @@ def make_path(l):      return(functools.reduce(os.path.join, l))  def get_properties(p): -    props = {"tag": False, "type": "txt"} +    props = {}      if p is None:          return props @@ -97,6 +97,10 @@ def get_properties(p):      except:          pass +    # Get "multi" +    if p.find("multi") is not None: +        props["multi"] = True +      return props  def make_node_def(props): @@ -108,7 +112,11 @@ def make_node_def(props):      if "tag" in props:          node_def += "tag:\n" -    node_def += "type: {0}\n".format(props["type"]) +    if "type" in props: +        node_def += "type: {0}\n".format(props["type"]) + +    if "multi" in props: +        node_def += "multi:\n"      if "priority" in props:          node_def += "priority: {0}\n".format(props["priority"]) @@ -135,6 +143,7 @@ def process_node(n, tmpl_dir):      name = n.get("name")      owner = n.get("owner") +    node_type = n.tag      my_tmpl_dir.append(name)      os.makedirs(make_path(my_tmpl_dir), exist_ok=True) @@ -142,13 +151,17 @@ def process_node(n, tmpl_dir):      props = get_properties(props_elem)      if owner:          props["owner"] = owner +    # Type should not be set for non-tag, non-leaf nodes +    if node_type != "node": +        props["type"] = "txt" +    if node_type == "tagNode": +        props["tag"] = "True"      with open(os.path.join(make_path(my_tmpl_dir), "node.def"), "w") as f:          f.write(make_node_def(props)) -    node_type = n.tag      if node_type == "node":          inner_nodes = children.iterfind("*")          for inner_n in inner_nodes:  | 
