def run(self): """This must return a new dict of variables to use in parsing the template.""" if not self.variableDict.has_key('enable'): return self.variableDict oldenables = self.variableDict['enable'] del self.variableDict['enable'] enable = TemplateVar('', key='enable') for record in oldenables.allRows(): if record.len() >= 1: if record.len() >= 2: value = record.options()[1:] else: value = [] enable.setMember(record.options()[0], value, noKey=True) else: raise ParseError, "Found 'enable' keyword with no arguments." # A helper method to add variables to the variableDict self.addVar(enable) return self.variableDict
def doUsers(self): # Add 'realmadmins', 'realmotheradmins', # 'realmusers' to variables group = 'default' key = None if self.variableDict.has_key('users'): if self.variableDict['users'].len() == 2: group = self.variableDict['users'][0] key = self.variableDict['users'][1] else: msg = "The 'users' keyword requires a group name and key." raise ParseError, msg realmadmins = self.adminUsers(group, key) t = TemplateVar(['realmadmins'] + realmadmins) self.addVar(t) if not self.haveVar('enable'): enable = TemplateVar('', key='enable') else: enable = self.variableDict['enable'] if enable.hasMember('adminusers'): self.addVar(TemplateVar(enable.adminusers.options(), key='realmotheradmins', noKey=True)) else: self.addVar(TemplateVar([], key='realmotheradmins', noKey=True)) if enable.hasMember('normalusers'): self.addVar(TemplateVar(enable.normalusers.options(), key='realmusers', noKey=True)) else: self.addVar(TemplateVar([], key='realmusers', noKey=True))