def get_target_words(iphod,sound,sylpos,wordpos): targets = [] for w in iphod: w = Word(w['Word'],w['UnTrn']) if w.istitle(): continue if not w.in_position(sound,sylpos,wordpos): continue bad_segment = False for s in SETTINGS['Avoided segments']: if w.contains(s): bad_segment = True other_critical_segs = filter(lambda x: x != sound, SETTINGS['Critical segments']) + SETTINGS['Avoided segments'] for oc in other_critical_segs: if w.neighbour_transcription(oc,sylpos,wordpos) in TRANS: bad_segment = True break if w.segment_count(oc) > 0: bad_segment = True break if bad_segment: continue if w.segment_count(sound) > 1: continue targets.append({'Word':w.orthography,'Transcription':w.render_transcription()}) return targets
def get_filler_words(iphod,wordlist): fillers = [] for w in iphod: w = Word(w['Word'],w['UnTrn']) if w.istitle(): continue if w.orthography in wordlist: continue bad_segment = False for s in SETTINGS['Avoided segments'] + SETTINGS['Critical segments']: if w.contains(s): bad_segment = True if bad_segment: continue fillers.append({'Word':w.orthography,'Transcription':w.render_transcription()}) return fillers