From 961ebbca7c915f3aa6924a9ed053fedd529cd397 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Fri, 12 Mar 2021 08:16:34 +0200 Subject: refactor(lorem): reformat, port to Python3 --- lorem | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/lorem b/lorem index a12df49..ddfb7df 100755 --- a/lorem +++ b/lorem @@ -1,18 +1,18 @@ -#!/usr/bin/python +#!/usr/bin/python3 import cliapp import random import textwrap -wrapped_text = ''' -Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod -tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, -quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo -consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse -cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat +wrapped_text = """ +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod +tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, +quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo +consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse +cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -''' +""" class Lorem(cliapp.Application): @@ -21,29 +21,30 @@ class Lorem(cliapp.Application): def add_settings(self): self.settings.integer( - ['paragraphs', 'p'], - 'number of paragraphs to produce, approximately; each paragraph ' - 'is of a random, but fairly short length ' - '(default is infinite)', - metavar='N') + ["paragraphs", "p"], + "number of paragraphs to produce, approximately; each paragraph " + "is of a random, but fairly short length " + "(default is infinite)", + metavar="N", + ) def process_args(self, args): - text = ' '.join(x for x in wrapped_text.split('\n') if x) - sentences = [x for x in text.split('.') if x] - sentences = [' '.join(x.split()) + '.' for x in sentences] - + text = " ".join(x for x in wrapped_text.split("\n") if x) + sentences = [x for x in text.split(".") if x] + sentences = [" ".join(x.split()) + "." for x in sentences] + i = 0 - paragraphs = self.settings['paragraphs'] + paragraphs = self.settings["paragraphs"] while True: n = random.randint(1, self.max_sentences) - paragraph = '\n'.join(random.choice(sentences) for i in range(n)) - self.output.write('\n'.join(textwrap.wrap(paragraph))) - self.output.write('\n') + paragraph = "\n".join(random.choice(sentences) for i in range(n)) + self.output.write("\n".join(textwrap.wrap(paragraph))) + self.output.write("\n") i += 1 if paragraphs and i >= paragraphs: break # Output empty line only between paragraphs, not after the last. - self.output.write('\n') + self.output.write("\n") Lorem().run() -- cgit v1.2.1