@@ -237,7 +237,8 @@ <h1>Source code for advertools.ad_from_string</h1><div class="highlight"><pre>
237
237
238
238
< span class ="sd "> .. code-block:</ span >
239
239
240
- < span class ="sd "> ['Get the latest gadget online. The GX12 model comes with 13 things that do a lot of good stuff for your health. Start shopping',</ span >
240
+ < span class ="sd "> ['Get the latest gadget online. The GX12 model comes with 13 things that do a lot\</ span >
241
+ < span class ="sd "> of good stuff for your health. Start shopping',</ span >
241
242
< span class ="sd "> 'now.',</ span >
242
243
< span class ="sd "> '',</ span >
243
244
< span class ="sd "> '']</ span >
@@ -279,30 +280,41 @@ <h1>Source code for advertools.ad_from_string</h1><div class="highlight"><pre>
279
280
< span class ="sd "> ['Get the latest gadget',</ span >
280
281
< span class ="sd "> 'online. The GX12 model comes',</ span >
281
282
< span class ="sd "> 'with 13 things that do a lot of good stuff for your health. Start shopping now.']</ span >
282
- < span class ="sd "> """</ span >
283
+ < span class ="sd "> """</ span > < span class ="c1 "> # noqa: E501</ span >
284
+
283
285
< span class ="kn "> import</ span > < span class ="nn "> string</ span >
284
286
285
287
286
288
< div class ="viewcode-block " id ="ad_from_string ">
287
289
< a class ="viewcode-back " href ="../../advertools.ad_from_string.html#advertools.ad_from_string.ad_from_string "> [docs]</ a >
288
- < span class ="k "> def</ span > < span class ="nf "> ad_from_string</ span > < span class ="p "> (</ span > < span class ="n "> s</ span > < span class ="p "> ,</ span > < span class ="n "> slots</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="mi "> 30</ span > < span class ="p "> ,</ span > < span class ="mi "> 30</ span > < span class ="p "> ,</ span > < span class ="mi "> 30</ span > < span class ="p "> ,</ span > < span class ="mi "> 90</ span > < span class ="p "> ,</ span > < span class ="mi "> 90</ span > < span class ="p "> ,</ span > < span class ="mi "> 15</ span > < span class ="p "> ,</ span > < span class ="mi "> 15</ span > < span class ="p "> ),</ span > < span class ="n "> sep</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
289
- < span class ="n "> capitalize</ span > < span class ="o "> =</ span > < span class ="kc "> False</ span > < span class ="p "> ):</ span >
290
+ < span class ="k "> def</ span > < span class ="nf "> ad_from_string</ span > < span class ="p "> (</ span > < span class ="n "> s</ span > < span class ="p "> ,</ span > < span class ="n "> slots</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="mi "> 30</ span > < span class ="p "> ,</ span > < span class ="mi "> 30</ span > < span class ="p "> ,</ span > < span class ="mi "> 30</ span > < span class ="p "> ,</ span > < span class ="mi "> 90</ span > < span class ="p "> ,</ span > < span class ="mi "> 90</ span > < span class ="p "> ,</ span > < span class ="mi "> 15</ span > < span class ="p "> ,</ span > < span class ="mi "> 15</ span > < span class ="p "> ),</ span > < span class ="n "> sep</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span > < span class ="n "> capitalize</ span > < span class ="o "> =</ span > < span class ="kc "> False</ span > < span class ="p "> ):</ span >
290
291
< span class ="w "> </ span > < span class ="sd "> """Convert string :attr:`s` to an ad by splitting it into groups of words.</ span >
292
+
291
293
< span class ="sd "> Each group would have a length of at most the allowed length for that slot.</ span >
292
294
293
295
< span class ="sd "> If the total length of :attr:`s` exceeds the total allowed length, all</ span >
294
296
< span class ="sd "> remaining characters would be grouped in the last element of the</ span >
295
297
< span class ="sd "> returned list.</ span >
296
298
297
- < span class ="sd "> :param str s: a string of characters, with no restrictions on length</ span >
298
- < span class ="sd "> :param list slots: an iterable of integers for the maximum lengths for</ span >
299
- < span class ="sd "> each slot</ span >
300
- < span class ="sd "> :param str sep: character(s) by which to split :attr:`s`</ span >
301
- < span class ="sd "> :param bool capitalize: whether or not to capitalize each word after</ span >
302
- < span class ="sd "> grouping. Setting it as False would not change the</ span >
303
- < span class ="sd "> capitalization of the input string</ span >
304
- < span class ="sd "> :returns text_ad: a list of strings</ span >
305
-
299
+ < span class ="sd "> Parameters</ span >
300
+ < span class ="sd "> ----------</ span >
301
+ < span class ="sd "> s : str</ span >
302
+ < span class ="sd "> A string of characters, with no restrictions on length.</ span >
303
+ < span class ="sd "> slots : list</ span >
304
+ < span class ="sd "> An iterable of integers for the maximum lengths for each slot</ span >
305
+ < span class ="sd "> sep : str</ span >
306
+ < span class ="sd "> Character(s) by which to split :attr:`s`.</ span >
307
+ < span class ="sd "> capitalize : bool</ span >
308
+ < span class ="sd "> Whether or not to capitalize each word after grouping. Setting it as False would</ span >
309
+ < span class ="sd "> not change the capitalization of the input string</ span >
310
+
311
+ < span class ="sd "> Returns</ span >
312
+ < span class ="sd "> -------</ span >
313
+ < span class ="sd "> text_ad : list</ span >
314
+ < span class ="sd "> A list of strings according to split spec.</ span >
315
+
316
+ < span class ="sd "> Examples</ span >
317
+ < span class ="sd "> --------</ span >
306
318
< span class ="sd "> >>> ad_from_string('this is a short ad')</ span >
307
319
< span class ="sd "> ['this is a short ad', '', '', '', '', '', '', '']</ span >
308
320
@@ -323,19 +335,21 @@ <h1>Source code for advertools.ad_from_string</h1><div class="highlight"><pre>
323
335
< span class ="sd "> '', '', '', '', '', '']</ span >
324
336
< span class ="sd "> """</ span >
325
337
< span class ="n "> str_words</ span > < span class ="o "> =</ span > < span class ="n "> s</ span > < span class ="o "> .</ span > < span class ="n "> split</ span > < span class ="p "> (</ span > < span class ="n "> sep</ span > < span class ="o "> =</ span > < span class ="n "> sep</ span > < span class ="p "> )</ span >
326
- < span class ="n "> text_ad</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="s1 "> '' ;</ span > < span class ="k "> for</ span > < span class ="n "> x</ span > < span class ="ow "> in</ span > < span class ="nb "> range</ span > < span class ="p "> (</ span > < span class ="nb "> len</ span > < span class ="p "> (</ span > < span class ="n "> slots</ span > < span class ="p "> )</ span > < span class ="o "> +</ span > < span class ="mi "> 1</ span > < span class ="p "> )]</ span >
338
+ < span class ="n "> text_ad</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="s2 "> "" ;</ span > < span class ="k "> for</ span > < span class ="n "> x</ span > < span class ="ow "> in</ span > < span class ="nb "> range</ span > < span class ="p "> (</ span > < span class ="nb "> len</ span > < span class ="p "> (</ span > < span class ="n "> slots</ span > < span class ="p "> )</ span > < span class ="o "> +</ span > < span class ="mi "> 1</ span > < span class ="p "> )]</ span >
327
339
< span class ="n "> counter</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span >
328
340
329
341
< span class ="k "> for</ span > < span class ="n "> i</ span > < span class ="p "> ,</ span > < span class ="n "> slot</ span > < span class ="ow "> in</ span > < span class ="nb "> enumerate</ span > < span class ="p "> (</ span > < span class ="n "> slots</ span > < span class ="p "> ):</ span >
330
342
< span class ="k "> while</ span > < span class ="n "> counter</ span > < span class ="o "> <=</ span > < span class ="nb "> len</ span > < span class ="p "> (</ span > < span class ="n "> str_words</ span > < span class ="p "> )</ span > < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> :</ span >
331
343
< span class ="k "> if</ span > < span class ="nb "> len</ span > < span class ="p "> (</ span > < span class ="n "> text_ad</ span > < span class ="p "> [</ span > < span class ="n "> i</ span > < span class ="p "> ]</ span > < span class ="o "> +</ span > < span class ="n "> str_words</ span > < span class ="p "> [</ span > < span class ="n "> counter</ span > < span class ="p "> ])</ span > < span class ="o "> +</ span > < span class ="mi "> 1</ span > < span class ="o "> ></ span > < span class ="n "> slot</ span > < span class ="p "> :</ span >
332
344
< span class ="k "> break</ span >
333
- < span class ="n "> text_ad</ span > < span class ="p "> [</ span > < span class ="n "> i</ span > < span class ="p "> ]</ span > < span class ="o "> +=</ span > < span class ="p "> (</ span > < span class ="s1 "> ' '</ span > < span class ="o "> +</ span > < span class ="n "> str_words</ span > < span class ="p "> [</ span > < span class ="n "> counter</ span > < span class ="p "> ]</ span > < span class ="k "> if</ span > < span class ="n "> text_ad</ span > < span class ="p "> [</ span > < span class ="n "> i</ span > < span class ="p "> ]</ span >
334
- < span class ="k "> else</ span > < span class ="n "> str_words</ span > < span class ="p "> [</ span > < span class ="n "> counter</ span > < span class ="p "> ])</ span >
345
+ < span class ="n "> text_ad</ span > < span class ="p "> [</ span > < span class ="n "> i</ span > < span class ="p "> ]</ span > < span class ="o "> +=</ span > < span class ="s2 "> " "</ span > < span class ="o "> +</ span > < span class ="n "> str_words</ span > < span class ="p "> [</ span > < span class ="n "> counter</ span > < span class ="p "> ]</ span > < span class ="k "> if</ span > < span class ="n "> text_ad</ span > < span class ="p "> [</ span > < span class ="n "> i</ span > < span class ="p "> ]</ span > < span class ="k "> else</ span > < span class ="n "> str_words</ span > < span class ="p "> [</ span > < span class ="n "> counter</ span > < span class ="p "> ]</ span >
335
346
< span class ="n "> counter</ span > < span class ="o "> +=</ span > < span class ="mi "> 1</ span >
336
347
337
- < span class ="n "> text_ad</ span > < span class ="p "> [</ span > < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="n "> sep</ span > < span class ="o "> .</ span > < span class ="n "> join</ span > < span class ="p "> (</ span > < span class ="n "> str_words</ span > < span class ="p "> [</ span > < span class ="n "> counter</ span > < span class ="p "> :])</ span >
338
- < span class ="k "> if</ span > < span class ="n "> sep</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="k "> else</ span > < span class ="s1 "> ' '</ span > < span class ="o "> .</ span > < span class ="n "> join</ span > < span class ="p "> (</ span > < span class ="n "> str_words</ span > < span class ="p "> [</ span > < span class ="n "> counter</ span > < span class ="p "> :]))</ span >
348
+ < span class ="n "> text_ad</ span > < span class ="p "> [</ span > < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="p "> (</ span >
349
+ < span class ="n "> sep</ span > < span class ="o "> .</ span > < span class ="n "> join</ span > < span class ="p "> (</ span > < span class ="n "> str_words</ span > < span class ="p "> [</ span > < span class ="n "> counter</ span > < span class ="p "> :])</ span >
350
+ < span class ="k "> if</ span > < span class ="n "> sep</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span >
351
+ < span class ="k "> else</ span > < span class ="s2 "> " "</ span > < span class ="o "> .</ span > < span class ="n "> join</ span > < span class ="p "> (</ span > < span class ="n "> str_words</ span > < span class ="p "> [</ span > < span class ="n "> counter</ span > < span class ="p "> :])</ span >
352
+ < span class ="p "> )</ span >
339
353
340
354
< span class ="k "> return</ span > < span class ="p "> [</ span > < span class ="n "> string</ span > < span class ="o "> .</ span > < span class ="n "> capwords</ span > < span class ="p "> (</ span > < span class ="n "> x</ span > < span class ="p "> )</ span > < span class ="k "> if</ span > < span class ="n "> capitalize</ span > < span class ="k "> else</ span > < span class ="n "> x</ span > < span class ="k "> for</ span > < span class ="n "> x</ span > < span class ="ow "> in</ span > < span class ="n "> text_ad</ span > < span class ="p "> ]</ span > </ div >
341
355
0 commit comments