puzzle/word_lists.py

35 lines
994 B
Python

from generator import Generator
from util import letters_only, header
import dotenv
import logging
import random
logger = logging.getLogger(__name__)
def main() -> int:
dotenv.load_dotenv()
logging.basicConfig(level=logging.INFO, format='%(message)s')
lists = []
for topic in Generator().suggest_topics(
'Events, activities, and phenomena in winter',
105):
logger.info('Creating topic for "%s".', topic)
generated = Generator().suggest_words(topic, 24)
if generated and len(generated) >= 10:
lists.append((topic, generated))
random.shuffle(lists)
logger.info('Writing %s lists to output' % len(lists))
output = []
for topic, generated in lists:
output.append(header(topic))
output.extend([letters_only(c).upper() for c in generated])
output.append('')
output.pop() # remove last newline
print('\n'.join(output))
return 0
if __name__ == '__main__':
main()