def declarative_present_informal_low(infinitive, regular=False, further_use=False): infinitive = base2(infinitive, regular) if not further_use and ((infinitive[-1] == u'이' and not getattr(infinitive, 'hidden_padchim', False)) or \ infinitive == u'아니'): conjugation.reasons.append(u'야 irregular') return infinitive + u'야' # 르 irregular if regular and infinitive == u'이르': return u'일러' if is_l_euh_irregular(infinitive, regular): new_base = infinitive[:-2] + join(lead(infinitive[-2]), vowel(infinitive[-2]), u'ᆯ') if infinitive[-2:] in [u'푸르', u'이르']: new_base = new_base + join(u'ᄅ', vowel(find_vowel_to_append(new_base))) conjugation.reasons.append(u'irregular stem + %s -> %s' % (infinitive, new_base)) return infinitive + u'러' elif find_vowel_to_append(infinitive[:-1]) == u'아': new_base += u'라' conjugation.reasons.append(u'르 irregular stem change [%s -> %s]' % (infinitive, new_base)) return new_base else: new_base += u'러' conjugation.reasons.append(u'르 irregular stem change [%s -> %s]' % (infinitive, new_base)) return new_base elif infinitive[-1] == u'하': return merge(infinitive, u'여') elif is_h_irregular(infinitive, regular): return merge(infinitive, u'이') return merge(infinitive, find_vowel_to_append(infinitive))
def past_base(infinitive, regular=False): ps = declarative_present_informal_low(infinitive, regular, further_use=True) if find_vowel_to_append(ps) == '아': return merge(ps, '았') else: return merge(ps, '었')
def past_base(infinitive, regular=False): ps = declarative_present_informal_low(infinitive, regular, further_use=True) if find_vowel_to_append(ps) == u'아': return merge(ps, u'았') else: return merge(ps, u'었')