def parse_line(self, lnr, line): m = self.pattern.match(line) if not m: raise TeachersParserError("Line is not matching: %d. %s" \ % (lnr, line)) title, last, first, gender = m.groups() if gender == 'M': is_male = True else: is_male = False return Educator(title, first, last, is_male)