存在哪些模板系统适合编写服务创建配方

时间:2011-04-27 10:54:02

标签: python templates recipe

我需要构建一个批量服务创建守护程序,该守护程序可以提供数据表,然后关闭并创建一组预先预制的服务。但是,服务类型可能有很多种,而且后面的步骤可能需要先前步骤的输出。

似乎我需要在某种特定领域的语言中实现,这允许我定义模板配方。然后,这可以通过模板引擎传递,模板引擎在最终运行之前从数据表中进行替换。

重新使用现有的语言基础结构以允许更复杂的配方使用流控制并定义一组受限制的基本操作是有意义的。但是,我希望简单的配方不需要语言知识来改变,因为最终用户不太可能拥有软件体验。

我想要一个简单的模板配方,如:

# Create a service from NodeA to NodeC via NodeB
# Parameters are:
#   node a id, node a port, node b id, node c id, node c port, comment
node_a = node_a_type($1)
conn_a = node_a.create_connection($2, $7)
node_b = node_b_type($3)
conn_b = node_b.create_connection(conn_a.output_port, $7)
node_c = node_c_type($4)
conn_c = node_c.terminate_connection(conn_b.output_port, $5, $7)

我建议将python作为基础语言,因为我对它很熟悉。然而,Python wiki提出了许多不同的选项(http://wiki.python.org/moin/Templating),其中大部分都是针对HTML / XML模板的解决方案。深入了解不同系统的优缺点。

1 个答案:

答案 0 :(得分:2)

我认为MakoJinja2都符合要求。

  • 两者都是 html / xml模板,但都是基于文本的。
  • 两者都很受欢迎且记录良好。
  • Mako有更多的pythonic语法,与Jinja一样,它支持沙盒,它可能对你有用。