def render_template(file_names, path, contexts): # Check for template file template = None for file_name in ['%s.jinja' % name for name in file_names]: file_path = os.path.join(path, file_name) if os.path.exists(file_path): template = file_path break if not template: raise NameError('No template for %s found.' % file_names) # Render template dest_file = os.path.splitext(template)[0] utils.render_template_to_file(template, dest=dest_file, contexts=contexts) return dest_file
def compile_template(self, rel_path, src, dest, node): src_path = os.path.join(src, rel_path) dest_path, ext = os.path.splitext(os.path.join(dest, rel_path)) # Remove .jinja extension ext = ext.lower() if ext != '.jinja': dest_path += ext # Ensure container folder exists utils.makedirs(os.path.split(dest_path)[0]) context = { 'env_name': self.node.data['env_name'], 'host_name': self.data['host_name'], 'instance_id': self.data['_id'], 'release': self.node.data['sha'] } utils.render_template_to_file(src_path, dest_path, [context])