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
class TestSubstitutionDrill: 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) def teardown(self): rmtree(self.recdir, self.tmp) def test_filename(self): assert_equal('sub-je_manges-dors', self.drill.filename) def test_recordings(self): recs = self.drill.recordings() assert_equal(recs[0].text, 'manges') assert_equal(recs[1].text, 'je manges') assert_equal(recs[2].text, 'dors') assert_equal(recs[3].text, 'je dors') def test_sound(self): assert_is_instance(self.drill.sound(test=True), Sound)
class TestSubstitutionDrill: 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) def teardown(self): rmtree(self.recdir, self.tmp) def test_filename(self): assert_equal('sub-je_manges-dors', self.drill.filename) def test_recordings(self): recs = self.drill.recordings() assert_equal(recs[0].text, 'manges') assert_equal(recs[1].text, 'je manges') assert_equal(recs[2].text, 'dors') assert_equal(recs[3].text, 'je dors') def test_sound(self): assert_is_instance(self.drill.sound(test=True), Sound)
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)
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)