'For a regular verb (base form), returns the forms using a rule-based approach.'

def find_lexeme(self, verb):

    v = verb.lower()
    if v.endswith(('arse', 'erse', 'irse')):
        b = v[:(-4)]
    else:
        b = v[:(-2)]
    if (v.endswith('ar') or (not v.endswith(('er', 'ir')))):
        return [v, (b + u'o'), (b + u'as'), (b + u'a'), (b + u'amos'), (b + u'\xe1is'), (b + u'an'), (b + u'ando'), (b + u'\xe9'), (b + u'aste'), (b + u'\xf3'), (b + u'amos'), (b + u'asteis'), (b + u'aron'), (b + u'ado'), (b + u'aba'), (b + u'abas'), (b + u'aba'), (b + u'\xe1bamos'), (b + u'abais'), (b + u'aban'), (v + u'\xe9'), (v + u'\xe1s'), (v + u'\xe1'), (v + u'emos'), (v + u'\xe9is'), (v + u'\xe1n'), (v + u'\xeda'), (v + u'\xedas'), (v + u'\xeda'), (v + u'\xedamos'), (v + u'\xedais'), (v + u'\xedan'), (b + u'a'), (v[:(-1)] + 'd'), (b + u'e'), (b + u'es'), (b + u'e'), (b + u'emos'), (b + u'\xe9is'), (b + u'en'), (v + u'a'), (v + u'as'), (v + u'a'), (b + u'\xe1ramos'), (v + u'ais'), (v + u'an')]
    else:
        (p1, p2) = ((v.endswith('er') and ('e', u'\xe9')) or ('i', 'e'))
        return [v, (b + u'o'), (b + u'es'), (b + u'e'), ((b + p1) + u'mos'), ((b + p2) + u'is'), (b + u'en'), (b + u'iendo'), (b + u'\xed'), (b + u'iste'), (b + u'i\xf3'), (b + u'imos'), (b + u'isteis'), (b + u'ieron'), (b + u'ido'), (b + u'\xeda'), (b + u'\xedas'), (b + u'\xeda'), (b + u'\xedamos'), (b + u'\xedais'), (b + u'\xedan'), (v + u'\xe9'), (v + u'\xe1s'), (v + u'\xe1'), (v + u'emos'), (v + u'\xe9is'), (v + u'\xe1n'), (v + u'\xeda'), (v + u'\xedas'), (v + u'\xeda'), (v + u'\xedamos'), (v + u'\xedais'), (v + u'\xedan'), (b + u'a'), (v[:(-1)] + 'd'), (b + u'a'), (b + u'as'), (b + u'a'), (b + u'amos'), (b + u'\xe1is'), (b + u'an'), (b + u'iera'), (b + u'ieras'), (b + u'iera'), (b + u'i\xe9ramos'), (b + u'ierais'), (b + u'ieran')]
