Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/django/utils/lorem_ipsum.py: 20%

28 statements  

« prev     ^ index     » next       coverage.py v6.4.4, created at 2023-07-17 14:22 -0600

1""" 

2Utility functions for generating "lorem ipsum" Latin text. 

3""" 

4 

5import random 

6 

7COMMON_P = ( 

8 "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod " 

9 "tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim " 

10 "veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea " 

11 "commodo consequat. Duis aute irure dolor in reprehenderit in voluptate " 

12 "velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint " 

13 "occaecat cupidatat non proident, sunt in culpa qui officia deserunt " 

14 "mollit anim id est laborum." 

15) 

16 

17WORDS = ( 

18 "exercitationem", 

19 "perferendis", 

20 "perspiciatis", 

21 "laborum", 

22 "eveniet", 

23 "sunt", 

24 "iure", 

25 "nam", 

26 "nobis", 

27 "eum", 

28 "cum", 

29 "officiis", 

30 "excepturi", 

31 "odio", 

32 "consectetur", 

33 "quasi", 

34 "aut", 

35 "quisquam", 

36 "vel", 

37 "eligendi", 

38 "itaque", 

39 "non", 

40 "odit", 

41 "tempore", 

42 "quaerat", 

43 "dignissimos", 

44 "facilis", 

45 "neque", 

46 "nihil", 

47 "expedita", 

48 "vitae", 

49 "vero", 

50 "ipsum", 

51 "nisi", 

52 "animi", 

53 "cumque", 

54 "pariatur", 

55 "velit", 

56 "modi", 

57 "natus", 

58 "iusto", 

59 "eaque", 

60 "sequi", 

61 "illo", 

62 "sed", 

63 "ex", 

64 "et", 

65 "voluptatibus", 

66 "tempora", 

67 "veritatis", 

68 "ratione", 

69 "assumenda", 

70 "incidunt", 

71 "nostrum", 

72 "placeat", 

73 "aliquid", 

74 "fuga", 

75 "provident", 

76 "praesentium", 

77 "rem", 

78 "necessitatibus", 

79 "suscipit", 

80 "adipisci", 

81 "quidem", 

82 "possimus", 

83 "voluptas", 

84 "debitis", 

85 "sint", 

86 "accusantium", 

87 "unde", 

88 "sapiente", 

89 "voluptate", 

90 "qui", 

91 "aspernatur", 

92 "laudantium", 

93 "soluta", 

94 "amet", 

95 "quo", 

96 "aliquam", 

97 "saepe", 

98 "culpa", 

99 "libero", 

100 "ipsa", 

101 "dicta", 

102 "reiciendis", 

103 "nesciunt", 

104 "doloribus", 

105 "autem", 

106 "impedit", 

107 "minima", 

108 "maiores", 

109 "repudiandae", 

110 "ipsam", 

111 "obcaecati", 

112 "ullam", 

113 "enim", 

114 "totam", 

115 "delectus", 

116 "ducimus", 

117 "quis", 

118 "voluptates", 

119 "dolores", 

120 "molestiae", 

121 "harum", 

122 "dolorem", 

123 "quia", 

124 "voluptatem", 

125 "molestias", 

126 "magni", 

127 "distinctio", 

128 "omnis", 

129 "illum", 

130 "dolorum", 

131 "voluptatum", 

132 "ea", 

133 "quas", 

134 "quam", 

135 "corporis", 

136 "quae", 

137 "blanditiis", 

138 "atque", 

139 "deserunt", 

140 "laboriosam", 

141 "earum", 

142 "consequuntur", 

143 "hic", 

144 "cupiditate", 

145 "quibusdam", 

146 "accusamus", 

147 "ut", 

148 "rerum", 

149 "error", 

150 "minus", 

151 "eius", 

152 "ab", 

153 "ad", 

154 "nemo", 

155 "fugit", 

156 "officia", 

157 "at", 

158 "in", 

159 "id", 

160 "quos", 

161 "reprehenderit", 

162 "numquam", 

163 "iste", 

164 "fugiat", 

165 "sit", 

166 "inventore", 

167 "beatae", 

168 "repellendus", 

169 "magnam", 

170 "recusandae", 

171 "quod", 

172 "explicabo", 

173 "doloremque", 

174 "aperiam", 

175 "consequatur", 

176 "asperiores", 

177 "commodi", 

178 "optio", 

179 "dolor", 

180 "labore", 

181 "temporibus", 

182 "repellat", 

183 "veniam", 

184 "architecto", 

185 "est", 

186 "esse", 

187 "mollitia", 

188 "nulla", 

189 "a", 

190 "similique", 

191 "eos", 

192 "alias", 

193 "dolore", 

194 "tenetur", 

195 "deleniti", 

196 "porro", 

197 "facere", 

198 "maxime", 

199 "corrupti", 

200) 

201 

202COMMON_WORDS = ( 

203 "lorem", 

204 "ipsum", 

205 "dolor", 

206 "sit", 

207 "amet", 

208 "consectetur", 

209 "adipisicing", 

210 "elit", 

211 "sed", 

212 "do", 

213 "eiusmod", 

214 "tempor", 

215 "incididunt", 

216 "ut", 

217 "labore", 

218 "et", 

219 "dolore", 

220 "magna", 

221 "aliqua", 

222) 

223 

224 

225def sentence(): 

226 """ 

227 Return a randomly generated sentence of lorem ipsum text. 

228 

229 The first word is capitalized, and the sentence ends in either a period or 

230 question mark. Commas are added at random. 

231 """ 

232 # Determine the number of comma-separated sections and number of words in 

233 # each section for this sentence. 

234 sections = [ 

235 " ".join(random.sample(WORDS, random.randint(3, 12))) 

236 for i in range(random.randint(1, 5)) 

237 ] 

238 s = ", ".join(sections) 

239 # Convert to sentence case and add end punctuation. 

240 return "%s%s%s" % (s[0].upper(), s[1:], random.choice("?.")) 

241 

242 

243def paragraph(): 

244 """ 

245 Return a randomly generated paragraph of lorem ipsum text. 

246 

247 The paragraph consists of between 1 and 4 sentences, inclusive. 

248 """ 

249 return " ".join(sentence() for i in range(random.randint(1, 4))) 

250 

251 

252def paragraphs(count, common=True): 

253 """ 

254 Return a list of paragraphs as returned by paragraph(). 

255 

256 If `common` is True, then the first paragraph will be the standard 

257 'lorem ipsum' paragraph. Otherwise, the first paragraph will be random 

258 Latin text. Either way, subsequent paragraphs will be random Latin text. 

259 """ 

260 paras = [] 

261 for i in range(count): 

262 if common and i == 0: 

263 paras.append(COMMON_P) 

264 else: 

265 paras.append(paragraph()) 

266 return paras 

267 

268 

269def words(count, common=True): 

270 """ 

271 Return a string of `count` lorem ipsum words separated by a single space. 

272 

273 If `common` is True, then the first 19 words will be the standard 

274 'lorem ipsum' words. Otherwise, all words will be selected randomly. 

275 """ 

276 word_list = list(COMMON_WORDS) if common else [] 

277 c = len(word_list) 

278 if count > c: 

279 count -= c 

280 while count > 0: 

281 c = min(count, len(WORDS)) 

282 count -= c 

283 word_list += random.sample(WORDS, c) 

284 else: 

285 word_list = word_list[:count] 

286 return " ".join(word_list)