|
| 1 | +"""Simple local lorem ipsum text generation utilities.""" |
| 2 | + |
| 3 | +from itertools import cycle, islice |
| 4 | + |
| 5 | +_LOREM_SENTENCES = [ |
| 6 | + "Lorem ipsum dolor sit amet, consectetur adipiscing elit.", |
| 7 | + "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.", |
| 8 | + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", |
| 9 | + "Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", |
| 10 | + "Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", |
| 11 | + "Integer nec odio praesent libero sed cursus ante dapibus diam.", |
| 12 | + "Nam dui ligula fringilla a euismod sodales sollicitudin vel wisi.", |
| 13 | + "Aenean fermentum risus id tortor fusce tellus odio dapibus id fermentum quis suscipit id erat.", |
| 14 | + "Etiam posuere lacus quis dolor pellentesque egestas.", |
| 15 | + "Curabitur vitae diam non enim vestibulum interdum.", |
| 16 | +] |
| 17 | + |
| 18 | + |
| 19 | +def _paragraph(sentence_count=5, offset=0): |
| 20 | + sentences = islice(cycle(_LOREM_SENTENCES), offset, offset + sentence_count) |
| 21 | + return " ".join(sentences) |
| 22 | + |
| 23 | + |
| 24 | +def get_paragraphs(paragraph_count, sentence_count=5): |
| 25 | + """Return a list of lorem ipsum paragraphs. |
| 26 | +
|
| 27 | + Args: |
| 28 | + paragraph_count (int): Number of paragraphs to generate. |
| 29 | + sentence_count (int): Number of sentences per paragraph. |
| 30 | + """ |
| 31 | + paragraph_count = max(0, int(paragraph_count)) |
| 32 | + sentence_count = max(1, int(sentence_count)) |
| 33 | + return [_paragraph(sentence_count=sentence_count, offset=i) for i in range(paragraph_count)] |
0 commit comments