#!/usr/bin/env python ''' Generate Lorem ipsum text (http://en.wikipedia.org/wiki/Lorem_ipsum). 2008-03-08 Ids van der Molen : Initial version License: this python module is public domain. ''' import random CORPUS=u'''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.''' SENTENCES=CORPUS.split('. ') WORDS=[n.lower() for n in CORPUS.replace('.','').replace(',','').split()] def words(count, from_corpus=True): 'Return list of count words. If from_corpus, use words from corpus first.' w = [] if from_corpus: w = WORDS[:count] count -= len(w) for i in range(count): w.append(random.choice(WORDS)) return w def sentence(from_corpus=True): 'Return sentence string. If from_corpus, return first sentence from corpus.' p = [] if from_corpus: return SENTENCES[0] + u'.' for n in range(random.randint(1,3)): p.append(u' '.join(words(random.randint(3,15), from_corpus=False))) return u', '.join(p).capitalize() + u'.' def sentences(count, from_corpus=True): 'Return list of count sentences. If from_corpus, use sentences from corpus first.' s = [] if from_corpus: s = [u'%s.' % n for n in SENTENCES[:count]] count -= len(s) for i in range(count): s.append(sentence(from_corpus=False)) return s def paragraph(from_corpus=True): 'Return paragraph string. If from_corpus, return corpus.' if from_corpus: return CORPUS return u' '.join(sentences(random.randint(3,8), from_corpus=False)) def paragraphs(count, from_corpus=True): 'Return list of count paragraphs. If from_corpus, use corpus first.' p = [] if from_corpus: p = [CORPUS] count -= 1 for i in range(count): p.append(paragraph(from_corpus=False)) return p # # # if __name__ == '__main__': print "5 WORDS FROM CORPUS:", words(5) print "5 WORDS:", words(5, from_corpus=False) print "1 SENTENCE FROM CORPUS:", sentence() print "1 SENTENCE:", sentence(from_corpus=False) print "3 SENTENCES FROM CORPUS:", sentences(3) print "3 SENTENCES:", sentences(3, from_corpus=False) print "1 PARAGRAPH FROM CORPUS:", paragraph() print "1 PARAGRAPH:", paragraph(from_corpus=False) print "3 PARAGRAPHS FROM CORPUS:", paragraphs(3) print "3 PARAGRAPHS:", paragraphs(3, from_corpus=False)