@@ -183,6 +183,7 @@ <h1>Source code for advertools.ad_create</h1><div class="highlight"><pre>
183
183
< span class ="sd "> '5-star Hotels In Portugal']</ span >
184
184
185
185
< span class ="sd "> """</ span >
186
+
186
187
< span class ="kn "> import</ span > < span class ="nn "> string</ span >
187
188
188
189
@@ -191,41 +192,61 @@ <h1>Source code for advertools.ad_create</h1><div class="highlight"><pre>
191
192
< span class ="k "> def</ span > < span class ="nf "> ad_create</ span > < span class ="p "> (</ span > < span class ="n "> template</ span > < span class ="p "> ,</ span > < span class ="n "> replacements</ span > < span class ="p "> ,</ span > < span class ="n "> fallback</ span > < span class ="p "> ,</ span > < span class ="n "> max_len</ span > < span class ="o "> =</ span > < span class ="mi "> 30</ span > < span class ="p "> ,</ span > < span class ="n "> capitalize</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span > < span class ="p "> ):</ span >
192
193
< span class ="w "> </ span > < span class ="sd "> """Insert each of the replacement strings in its place within template.</ span >
193
194
194
- < span class ="sd "> :param str template: a string format template, using braces e.g. "Get the</ span >
195
- < span class ="sd "> latest {} today."</ span >
196
- < span class ="sd "> :param list replacements: replacement strings to be inserted in</ span >
197
- < span class ="sd "> :attr:`template`</ span >
198
- < span class ="sd "> :param str fallback: the string to insert in :attr:`template` in case</ span >
199
- < span class ="sd "> :attr:`replacement` is longer than :attr:`max_len`</ span >
200
- < span class ="sd "> :param int max_len: the maximum allowed length of the full string</ span >
201
- < span class ="sd "> :param bool capitalize: whether or not to capitalize words in the result</ span >
202
- < span class ="sd "> :returns formatted: list of strings</ span >
203
-
204
- < span class ="sd "> >>> ad_create("Let\'s count {}", ['one', 'two', 'three'], 'one', 20)</ span >
195
+ < span class ="sd "> Parameters</ span >
196
+ < span class ="sd "> ----------</ span >
197
+ < span class ="sd "> template : str</ span >
198
+ < span class ="sd "> A string format template, using braces e.g. "Get the latest {} today."</ span >
199
+ < span class ="sd "> replacements : list</ span >
200
+ < span class ="sd "> Replacement strings to be inserted in :attr:`template`.</ span >
201
+ < span class ="sd "> fallback : str</ span >
202
+ < span class ="sd "> The string to insert in :attr:`template` in case :attr:`replacement` is longer</ span >
203
+ < span class ="sd "> than :attr:`max_len`.</ span >
204
+ < span class ="sd "> max_len : int</ span >
205
+ < span class ="sd "> The maximum allowed length of the full string.</ span >
206
+ < span class ="sd "> capitalize : bool</ span >
207
+ < span class ="sd "> Whether or not to capitalize words in the result.</ span >
208
+
209
+ < span class ="sd "> Returns</ span >
210
+ < span class ="sd "> -------</ span >
211
+ < span class ="sd "> formatted : list</ span >
212
+ < span class ="sd "> List of ads (strings).</ span >
213
+
214
+ < span class ="sd "> Examples</ span >
215
+ < span class ="sd "> --------</ span >
216
+ < span class ="sd "> >>> ad_create("Let's count {}", ["one", "two", "three"], "one", 20)</ span >
205
217
< span class ="sd "> ["Let's Count One", "Let's Count Two", "Let's Count Three"]</ span >
206
218
207
- < span class ="sd "> >>> ad_create(template='My favorite car is {}',</ span >
208
- < span class ="sd "> ... replacements=['Toyota', 'BMW', 'Mercedes', 'Lamborghini'],</ span >
209
- < span class ="sd "> ... fallback='great',</ span >
210
- < span class ="sd "> ... max_len=28)</ span >
219
+ < span class ="sd "> >>> ad_create(</ span >
220
+ < span class ="sd "> ... template="My favorite car is {}",</ span >
221
+ < span class ="sd "> ... replacements=["Toyota", "BMW", "Mercedes", "Lamborghini"],</ span >
222
+ < span class ="sd "> ... fallback="great",</ span >
223
+ < span class ="sd "> ... max_len=28,</ span >
224
+ < span class ="sd "> ... )</ span >
211
225
< span class ="sd "> ['My Favorite Car Is Toyota', 'My Favorite Car Is Bmw',</ span >
212
226
< span class ="sd "> 'My Favorite Car Is Mercedes', 'My Favorite Car Is Great']</ span >
213
227
214
- < span class ="sd "> >>> ad_create('KeEP cApITalization {}', ['As IS'],</ span >
215
- < span class ="sd "> ... fallback='fallback', max_len=50, capitalize=False)</ span >
228
+ < span class ="sd "> >>> ad_create(</ span >
229
+ < span class ="sd "> ... "KeEP cApITalization {}",</ span >
230
+ < span class ="sd "> ... ["As IS"],</ span >
231
+ < span class ="sd "> ... fallback="fallback",</ span >
232
+ < span class ="sd "> ... max_len=50,</ span >
233
+ < span class ="sd "> ... capitalize=False,</ span >
234
+ < span class ="sd "> ... )</ span >
216
235
< span class ="sd "> ['KeEP cApITalization As IS']</ span >
217
236
218
- < span class ="sd "> >>> ad_create('This is very long and will produce and error',</ span >
219
- < span class ="sd "> ... replacements=['something', 'long'], fallback='Very long',</ span >
220
- < span class ="sd "> ... max_len=20)</ span >
237
+ < span class ="sd "> >>> ad_create(</ span >
238
+ < span class ="sd "> ... "This is very long and will produce and error",</ span >
239
+ < span class ="sd "> ... replacements=["something", "long"],</ span >
240
+ < span class ="sd "> ... fallback="Very long",</ span >
241
+ < span class ="sd "> ... max_len=20,</ span >
242
+ < span class ="sd "> ... )</ span >
221
243
< span class ="sd "> Traceback (most recent call last):</ span >
222
244
< span class ="sd "> File "<input>", line 1, in <module></ span >
223
245
< span class ="sd "> File "<input>", line 26, in ad_create</ span >
224
246
< span class ="sd "> ValueError: template + fallback should be <= 20 chars</ span >
225
247
< span class ="sd "> """</ span >
226
248
< span class ="k "> if</ span > < span class ="nb "> len</ span > < span class ="p "> (</ span > < span class ="n "> template</ span > < span class ="o "> .</ span > < span class ="n "> format</ span > < span class ="p "> (</ span > < span class ="n "> fallback</ span > < span class ="p "> ))</ span > < span class ="o "> ></ span > < span class ="n "> max_len</ span > < span class ="p "> :</ span >
227
- < span class ="k "> raise</ span > < span class ="ne "> ValueError</ span > < span class ="p "> (</ span > < span class ="s1 "> 'template + fallback should be <= '</ span >
228
- < span class ="o "> +</ span > < span class ="nb "> str</ span > < span class ="p "> (</ span > < span class ="n "> max_len</ span > < span class ="p "> )</ span > < span class ="o "> +</ span > < span class ="s1 "> ' chars'</ span > < span class ="p "> )</ span >
249
+ < span class ="k "> raise</ span > < span class ="ne "> ValueError</ span > < span class ="p "> (</ span > < span class ="s2 "> "template + fallback should be <= "</ span > < span class ="o "> +</ span > < span class ="nb "> str</ span > < span class ="p "> (</ span > < span class ="n "> max_len</ span > < span class ="p "> )</ span > < span class ="o "> +</ span > < span class ="s2 "> " chars"</ span > < span class ="p "> )</ span >
229
250
< span class ="n "> final_ad</ span > < span class ="o "> =</ span > < span class ="p "> []</ span >
230
251
< span class ="k "> for</ span > < span class ="n "> rep</ span > < span class ="ow "> in</ span > < span class ="n "> replacements</ span > < span class ="p "> :</ span >
231
252
< span class ="k "> if</ span > < span class ="nb "> len</ span > < span class ="p "> (</ span > < span class ="n "> template</ span > < span class ="o "> .</ span > < span class ="n "> format</ span > < span class ="p "> (</ span > < span class ="n "> rep</ span > < span class ="p "> ))</ span > < span class ="o "> <=</ span > < span class ="n "> max_len</ span > < span class ="p "> :</ span >
0 commit comments