/usr/bin/mako-render is in python-mako 0.9.1-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #! /usr/bin/python
def render(data, filename, kw):
from mako.template import Template
from mako.lookup import TemplateLookup
lookup = TemplateLookup(["."])
return Template(data, filename, lookup=lookup).render(**kw)
def varsplit(var):
if "=" not in var:
return (var, "")
return var.split("=", 1)
def main(argv=None):
from os.path import isfile
from sys import stdin
if argv is None:
import sys
argv = sys.argv
from optparse import OptionParser
parser = OptionParser("usage: %prog [FILENAME]")
parser.add_option("--var", default=[], action="append",
help="variable (can be used multiple times, use name=value)")
opts, args = parser.parse_args(argv[1:])
if len(args) not in (0, 1):
parser.error("wrong number of arguments") # Will exit
if (len(args) == 0) or (args[0] == "-"):
fo = stdin
else:
filename = args[0]
if not isfile(filename):
raise SystemExit("error: can't find %s" % filename)
fo = open(filename)
kw = dict([varsplit(var) for var in opts.var])
data = fo.read()
print(render(data, filename, kw))
if __name__ == "__main__":
main()
|