fix conjugation of verbs ending in `e`, move the conjugation to a separate file

This commit is contained in:
Kay Faraday 2023-01-13 02:38:15 +00:00
parent b0d072bbf2
commit 3c26fcf701
2 changed files with 15 additions and 12 deletions

13
conjugate.py Normal file
View File

@ -0,0 +1,13 @@
def conjugate(verb):
if verb[-2:] == 'ed' and verb[-3] not in {'a', 'e', 'i', 'o', 'u'}:
verb = verb[:-2]
if verb[-1] in {'a', 'i', 'o', 'u'}:
verb = verb + 'es'
elif verb[-1] != 'e' and (verb[-1] in {'s', 'x'} or verb[-2] in {'s', 'x'} or verb[-2:] == 'ch'):
verb = verb + 'es'
elif verb[-1] == 'y' and verb[-2] not in {'a', 'e', 'i', 'o', 'u'}:
verb = verb[:-1] + 'ies'
else:
verb = verb + 's'
return verb

View File

@ -1,8 +1,8 @@
#!/usr/bin/env python #!/usr/bin/env python
import random import random
from conjugate import conjugate
from mastodon import Mastodon from mastodon import Mastodon
import os
import json5 as json import json5 as json
with open('config.json') as f: with open('config.json') as f:
@ -25,17 +25,7 @@ postform = random.choice((
'{gender} who {verb}', '{gender} who {verb}',
)) ))
gender = random.choice(('lgf', 'lbf', 'lef')) gender = random.choice(('lgf', 'lbf', 'lef'))
verb = random.choice(verbs) verb = conjugate(random.choice(verbs))
if verb[-2:] == 'ed' and verb[-3] not in {'a', 'e', 'i', 'o', 'u'}:
verb = verb[:-2]
if verb[-1] in {'a', 'i', 'o', 'u'}:
verb = verb + 'es'
elif verb[-1] in {'s', 'x'} or verb[-2] in {'s', 'x'} or verb[-2:] == 'ch':
verb = verb + 'es'
elif verb[-1] == 'y' and verb[-2] not in {'a', 'e', 'i', 'o', 'u'}:
verb = verb[:-1] + 'ies'
else:
verb = verb + 's'
adjective = random.choice(adjectives) adjective = random.choice(adjectives)
content = postform.format(adjective=adjective, gender=gender, verb=verb) content = postform.format(adjective=adjective, gender=gender, verb=verb)
print(content) print(content)