def expected_param_keys(self):
expected_keys = []<EOL>r = re.compile('<STR_LIT>')<EOL>for block in self.keys():<EOL><INDENT>for key in self[block].keys():<EOL><INDENT>s = self[block][key]<EOL>if type(s)!=str: continue<EOL>md = re.search(r, s)<EOL>while md is not None:<EOL><INDENT>k = md.group(<NUM_LIT:1>)<EOL>if k not in expected_keys:<EOL><INDENT>expected_keys.append(k)<EOL><DEDENT>s = s[md.span()[<NUM_LIT:1>]:]<EOL>md = re.search(r, s)<EOL><DEDENT><DEDENT><DEDENT>return expected_keys<EOL>
returns a list of params that this ConfigTemplate expects to receive