def _generate_content(self): """Not meant to be overridden or called directly.""" lines = [] type = self.template_type if type is not None and type is not "": type = type + " " lines.append("%stemplate %s;" % (type, self.plenary_template_name)) lines.append("") if self.template_type == "object": if self.loadpath: pan_variable(lines, "LOADPATH", [self.loadpath]) lines.append("") pan_assign(lines, "/metadata/template/branch/name", self.dbobj.branch.name) pan_assign(lines, "/metadata/template/branch/type", self.dbobj.branch.branch_type) if self.dbobj.branch.branch_type == 'sandbox': pan_assign(lines, "/metadata/template/branch/author", self.dbobj.sandbox_author.name) lines.append("") self.body(lines) return "\n".join(lines) + "\n"
def body(self, lines): pan_variable(lines, "PERSONALITY", self.dbobj.name) ## process grns eon_id_map = defaultdict(set) # own == pers level for grn_rec in self.dbobj._grns: eon_id_map[grn_rec.target].add(grn_rec.grn.eon_id) for (target, eon_id_set) in eon_id_map.iteritems(): eon_id_list = list(eon_id_set) eon_id_list.sort() for eon_id in eon_id_list: pan_append(lines, "/system/eon_id_maps/%s" % target, eon_id) archetype = self.dbobj.archetype.name # backward compat for esp reporting if self.config.has_option("archetype_" + archetype, "default_grn_target"): default_grn_target = self.config.get("archetype_" + archetype, "default_grn_target") eon_id_set = eon_id_map[default_grn_target] eon_id_list = list(eon_id_set) eon_id_list.sort() for eon_id in eon_id_list: pan_append(lines, "/system/eon_ids", eon_id) pan_assign(lines, "/system/personality/owner_eon_id", self.dbobj.owner_eon_id) ## include pre features path = PlenaryPersonalityPreFeature.template_name(self.dbobj) pan_include_if_exists(lines, path) ## process parameter templates pan_include_if_exists(lines, "personality/config") pan_assign(lines, "/system/personality/name", self.dbobj.name) if self.dbobj.host_environment.name != 'legacy': pan_assign(lines, "/system/personality/host_environment", self.dbobj.host_environment, True) ## TODO : This is just to satisfy quattor schema ## needs to be removed as soon as the schema allows this pan_assign(lines, "/system/personality/systemgrn", []) if self.dbobj.config_override: pan_include(lines, "features/personality/config_override/config") ## include post features path = PlenaryPersonalityPostFeature.template_name(self.dbobj) pan_include_if_exists(lines, path)
def body(self, lines): pan_variable(lines, "PERSONALITY", self.name) ## process grns eon_id_map = defaultdict(set) # own == pers level for grn_rec in self.dbobj._grns: eon_id_map[grn_rec.target].add(grn_rec.grn.eon_id) for (target, eon_id_set) in eon_id_map.iteritems(): eon_id_list = list(eon_id_set) eon_id_list.sort() for eon_id in eon_id_list: pan_append(lines, "/system/eon_id_maps/%s" % target, eon_id) archetype = self.dbobj.archetype.name # backward compat for esp reporting if self.config.has_option("archetype_" + archetype, "default_grn_target"): default_grn_target = self.config.get("archetype_" + archetype, "default_grn_target") eon_id_set = eon_id_map[default_grn_target] eon_id_list = list(eon_id_set) eon_id_list.sort() for eon_id in eon_id_list: pan_append(lines, "/system/eon_ids", eon_id) pan_assign(lines, "/system/personality/owner_eon_id", self.dbobj.owner_eon_id) ## include pre features pan_include_if_exists(lines, "%s/pre_feature" % self.plenary_core) ## process parameter templates pan_include_if_exists(lines, "personality/config") pan_assign(lines, "/system/personality/name", self.name) pan_assign(lines, "/system/personality/host_environment", self.dbobj.host_environment) ## TODO : This is just to satisfy quattor schema ## needs to be removed as soon as the schema allows this pan_assign(lines, "/system/personality/systemgrn", []) if self.dbobj.config_override: pan_include(lines, "features/personality/config_override/config") ## include post features pan_include_if_exists(lines, "%s/post_feature" % self.plenary_core)
def _generate_content(self): lines = [] lines.append("object template %s;" % self.template_name(self.dbobj)) lines.append("") loadpath = self.loadpath(self.dbobj) if loadpath: pan_variable(lines, "LOADPATH", [loadpath]) lines.append("") pan_assign(lines, "/metadata/template/branch/name", self.dbobj.branch.name) pan_assign(lines, "/metadata/template/branch/type", self.dbobj.branch.branch_type) if self.dbobj.branch.branch_type == 'sandbox': pan_assign(lines, "/metadata/template/branch/author", self.dbobj.sandbox_author.name) lines.append("") self.body(lines) return "\n".join(lines) + "\n"
def body(self, lines): pan_variable(lines, "TIMEZONE", self.dbobj.timezone)