Path: blob/master/tools/net/sunrpc/xdrgen/generators/source_top.py
26292 views
#!/usr/bin/env python31# ex: set filetype=python:23"""Generate source code boilerplate"""45import os.path6import time78from generators import Boilerplate9from generators import find_xdr_program_name, create_jinja2_environment10from xdr_ast import _RpcProgram, Specification, get_header_name111213class XdrSourceTopGenerator(Boilerplate):14"""Generate source code boilerplate"""1516def __init__(self, language: str, peer: str):17"""Initialize an instance of this class"""18self.environment = create_jinja2_environment(language, "source_top")19self.peer = peer2021def emit_source(self, filename: str, root: Specification) -> None:22"""Emit the top source boilerplate"""23name = find_xdr_program_name(root)24template = self.environment.get_template(self.peer + ".j2")25print(26template.render(27program=name,28filename=filename,29mtime=time.ctime(os.path.getmtime(filename)),30)31)323334