def parse(self): drills = [] drill_data = [] for i, line in enumerate(self.stream): if drill_data: if self.is_blank(line): drill = SubstitutionDrill(self.config, drill_data) drills.append(drill) drill_data = [] else: word = line.strip() drill_data.append(self.recordings(word)) else: if not self.is_blank(line): m = SENTENCE_RE.match(line) if m: self.pre = m.group('pre') self.post = m.group('post') word = m.group('word') drill_data.append(self.recordings(word)) else: raise ParseError("line %i: invalid sentence %s" % (i, line)) if drill_data: drill = SubstitutionDrill(self.config, drill_data) drills.append(drill) return drills
def setup(self): self.recdir, self.tmp = mkdtemp(), mkdtemp() config = SoundConfig(recdir=self.recdir, tmpdir=self.tmp) data = [(Recording(config, 'manges', 'manges'), Recording(config, 'je_manges', 'je manges')), (Recording(config, 'dors', 'dors'), Recording(config, 'je_dors', 'je dors'))] self.drill = SubstitutionDrill(config, data)