Merge lp:~stevenk/launchpad/approximateduration-no-words into lp:launchpad

Proposed by Steve Kowalik
Status: Merged
Approved by: Aaron Bentley
Approved revision: no longer in the source branch.
Merged at revision: 13358
Proposed branch: lp:~stevenk/launchpad/approximateduration-no-words
Merge into: lp:launchpad
Diff against target: 610 lines (+65/-115)
13 files modified
lib/canonical/launchpad/doc/presenting-lengths-of-time.txt (+15/-15)
lib/lp/app/browser/tales.py (+13/-45)
lib/lp/app/doc/tales.txt (+0/-18)
lib/lp/bugs/templates/bugtarget-patches.pt (+1/-1)
lib/lp/code/mail/tests/test_sourcepackagerecipebuild.py (+1/-1)
lib/lp/code/stories/codeimport/xx-codeimport-results.txt (+7/-7)
lib/lp/registry/browser/tests/poll-views.txt (+2/-2)
lib/lp/registry/doc/teammembership-email-notification.txt (+5/-5)
lib/lp/soyuz/doc/build-failedtoupload-workflow.txt (+1/-1)
lib/lp/soyuz/stories/soyuz/xx-buildfarm-index.txt (+4/-4)
lib/lp/soyuz/stories/soyuz/xx-builds-pages.txt (+14/-14)
lib/lp/translations/browser/tests/test_baseexportview.py (+1/-1)
lib/lp/translations/stories/buildfarm/xx-build-summary.txt (+1/-1)
To merge this branch: bzr merge lp:~stevenk/launchpad/approximateduration-no-words
Reviewer Review Type Date Requested Status
Aaron Bentley (community) Approve
Review via email: mp+66586@code.launchpad.net

Commit message

[r=abentley][bug=138490] fmt:approximateduration has forgotten how to use words.

Description of the change

Utterly rip out all uses (as well as the code itself) of approximateduration(use_words) and fmt:approximateduration/use-digits.

To post a comment you must log in.
Revision history for this message
Aaron Bentley (abentley) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lib/canonical/launchpad/doc/presenting-lengths-of-time.txt'
2--- lib/canonical/launchpad/doc/presenting-lengths-of-time.txt 2011-06-23 13:10:40 +0000
3+++ lib/canonical/launchpad/doc/presenting-lengths-of-time.txt 2011-07-01 19:18:42 +0000
4@@ -113,31 +113,31 @@
5
6 >>> td = timedelta(seconds=55)
7 >>> test_tales('td/fmt:approximateduration', td=td)
8- 'a minute'
9+ '1 minute'
10 >>> td = timedelta(seconds=88.123)
11 >>> test_tales('td/fmt:approximateduration', td=td)
12- 'a minute'
13+ '1 minute'
14
15 >>> td = timedelta(seconds=90)
16 >>> test_tales('td/fmt:approximateduration', td=td)
17- 'two minutes'
18+ '2 minutes'
19 >>> td = timedelta(seconds=149.9181)
20 >>> test_tales('td/fmt:approximateduration', td=td)
21- 'two minutes'
22+ '2 minutes'
23
24 >>> td = timedelta(seconds=150)
25 >>> test_tales('td/fmt:approximateduration', td=td)
26- 'three minutes'
27+ '3 minutes'
28 >>> td = timedelta(seconds=199)
29 >>> test_tales('td/fmt:approximateduration', td=td)
30- 'three minutes'
31+ '3 minutes'
32
33 >>> td = timedelta(seconds=330)
34 >>> test_tales('td/fmt:approximateduration', td=td)
35- 'six minutes'
36+ '6 minutes'
37 >>> td = timedelta(seconds=375.1)
38 >>> test_tales('td/fmt:approximateduration', td=td)
39- 'six minutes'
40+ '6 minutes'
41
42 >>> td = timedelta(seconds=645)
43 >>> test_tales('td/fmt:approximateduration', td=td)
44@@ -156,11 +156,11 @@
45
46 >>> td = timedelta(seconds=3570)
47 >>> test_tales('td/fmt:approximateduration', td=td)
48- 'an hour'
49+ '1 hour'
50
51 >>> td = timedelta(seconds=3899.99999)
52 >>> test_tales('td/fmt:approximateduration', td=td)
53- 'an hour'
54+ '1 hour'
55
56 >>> td = timedelta(seconds=5100.181)
57 >>> test_tales('td/fmt:approximateduration', td=td)
58@@ -176,7 +176,7 @@
59
60 >>> td = timedelta(seconds=35850.2828)
61 >>> test_tales('td/fmt:approximateduration', td=td)
62- 'ten hours'
63+ '10 hours'
64
65 >>> td = timedelta(seconds=38000)
66 >>> test_tales('td/fmt:approximateduration', td=td)
67@@ -188,11 +188,11 @@
68
69 >>> td = timedelta(seconds=171000)
70 >>> test_tales('td/fmt:approximateduration', td=td)
71- 'two days'
72+ '2 days'
73
74 >>> td = timedelta(seconds=900000)
75 >>> test_tales('td/fmt:approximateduration', td=td)
76- 'ten days'
77+ '10 days'
78
79 >>> td = timedelta(seconds=1160000)
80 >>> test_tales('td/fmt:approximateduration', td=td)
81@@ -200,11 +200,11 @@
82
83 >>> td = timedelta(seconds=1500000)
84 >>> test_tales('td/fmt:approximateduration', td=td)
85- 'two weeks'
86+ '2 weeks'
87
88 >>> td = timedelta(seconds=6000000)
89 >>> test_tales('td/fmt:approximateduration', td=td)
90- 'ten weeks'
91+ '10 weeks'
92
93 >>> td = timedelta(seconds=6350400)
94 >>> test_tales('td/fmt:approximateduration', td=td)
95
96=== modified file 'lib/lp/app/browser/tales.py'
97--- lib/lp/app/browser/tales.py 2011-06-30 13:11:41 +0000
98+++ lib/lp/app/browser/tales.py 2011-07-01 19:18:42 +0000
99@@ -2144,12 +2144,7 @@
100 if name == 'exactduration':
101 return self.exactduration()
102 elif name == 'approximateduration':
103- use_words = True
104- if len(furtherPath) == 1:
105- if 'use-digits' == furtherPath[0]:
106- furtherPath.pop()
107- use_words = False
108- return self.approximateduration(use_words)
109+ return self.approximateduration()
110 else:
111 raise TraversalError(name)
112
113@@ -2179,19 +2174,12 @@
114
115 return ', '.join(parts)
116
117- def approximateduration(self, use_words=True):
118+ def approximateduration(self):
119 """Return a nicely-formatted approximate duration.
120
121- E.g. 'an hour', 'three minutes', '1 hour 10 minutes' and so
122- forth.
123+ E.g. '1 hour', '3 minutes', '1 hour 10 minutes' and so forth.
124
125 See https://launchpad.canonical.com/PresentingLengthsOfTime.
126-
127- :param use_words: Specificly determines whether or not to use
128- words for numbers less than or equal to ten. Expanding
129- numbers to words makes sense when the number is used in
130- prose or a singualar item on a page, but when used in
131- a table, the words do not work as well.
132 """
133 # NOTE: There are quite a few "magic numbers" in this
134 # implementation; they are generally just figures pulled
135@@ -2224,10 +2212,8 @@
136 (35, '30 seconds'),
137 (45, '40 seconds'),
138 (55, '50 seconds'),
139- (90, 'a minute'),
140+ (90, '1 minute'),
141 ]
142- if not use_words:
143- representation_in_seconds[-1] = (90, '1 minute')
144
145 # Break representation_in_seconds into two pieces, to simplify
146 # finding the correct display value, through the use of the
147@@ -2235,7 +2221,7 @@
148 second_boundaries, display_values = zip(*representation_in_seconds)
149
150 # Is seconds small enough that we can produce a representation
151- # in seconds (up to 'a minute'?)
152+ # in seconds (up to '1 minute'?)
153 if seconds < second_boundaries[-1]:
154 # Use the built-in bisection algorithm to locate the index
155 # of the item which "seconds" sorts after.
156@@ -2244,34 +2230,17 @@
157 # Return the corresponding display value.
158 return display_values[matching_element_index]
159
160- # More than a minute, approximately; our calculation strategy
161- # changes. From this point forward, we may also need a
162- # "verbal" representation of the number. (We never need a
163- # verbal representation of "1", because we tend to special
164- # case the number 1 for various approximations, and we usually
165- # use a word like "an", instead of "one", e.g. "an hour")
166- if use_words:
167- number_name = {
168- 2: 'two', 3: 'three', 4: 'four', 5: 'five',
169- 6: 'six', 7: 'seven', 8: 'eight', 9: 'nine',
170- 10: 'ten'}
171- else:
172- number_name = dict((number, number) for number in range(2, 11))
173-
174 # Convert seconds into minutes, and round it.
175 minutes, remaining_seconds = divmod(seconds, 60)
176 minutes += remaining_seconds / 60.0
177 minutes = int(round(minutes))
178
179 if minutes <= 59:
180- return "%s minutes" % number_name.get(minutes, str(minutes))
181+ return "%d minutes" % minutes
182
183 # Is the duration less than an hour and 5 minutes?
184 if seconds < (60 + 5) * 60:
185- if use_words:
186- return "an hour"
187- else:
188- return "1 hour"
189+ return "1 hour"
190
191 # Next phase: try and calculate an approximate duration
192 # greater than one hour, but fewer than ten hours, to a 10
193@@ -2290,12 +2259,11 @@
194 else:
195 return "%d hours %s minutes" % (hours, minutes)
196 else:
197- number_as_text = number_name.get(hours, str(hours))
198- return "%s hours" % number_as_text
199+ return "%d hours" % hours
200
201 # Is the duration less than ten and a half hours?
202 if seconds < (10.5 * 3600):
203- return '%s hours' % number_name[10]
204+ return '10 hours'
205
206 # Try to calculate the approximate number of hours, to a
207 # maximum of 47.
208@@ -2305,22 +2273,22 @@
209
210 # Is the duration fewer than two and a half days?
211 if seconds < (2.5 * 24 * 3600):
212- return '%s days' % number_name[2]
213+ return '2 days'
214
215 # Try to approximate to day granularity, up to a maximum of 13
216 # days.
217 days = int(round(seconds / (24 * 3600)))
218 if days <= 13:
219- return "%s days" % number_name.get(days, str(days))
220+ return "%s days" % days
221
222 # Is the duration fewer than two and a half weeks?
223 if seconds < (2.5 * 7 * 24 * 3600):
224- return '%s weeks' % number_name[2]
225+ return '2 weeks'
226
227 # If we've made it this far, we'll calculate the duration to a
228 # granularity of weeks, once and for all.
229 weeks = int(round(seconds / (7 * 24 * 3600.0)))
230- return "%s weeks" % number_name.get(weeks, str(weeks))
231+ return "%d weeks" % weeks
232
233
234 class LinkFormatterAPI(ObjectFormatterAPI):
235
236=== modified file 'lib/lp/app/doc/tales.txt'
237--- lib/lp/app/doc/tales.txt 2011-06-23 13:10:40 +0000
238+++ lib/lp/app/doc/tales.txt 2011-07-01 19:18:42 +0000
239@@ -1409,9 +1409,6 @@
240 '2 days, 0 hours, 0 minutes, 0.0 seconds'
241
242 >>> test_tales('delta/fmt:approximateduration', delta=delta)
243- 'two days'
244-
245- >>> test_tales('delta/fmt:approximateduration/use-digits', delta=delta)
246 '2 days'
247
248 >>> delta = timedelta(days=12, hours=6, minutes=30)
249@@ -1421,17 +1418,11 @@
250 >>> test_tales('delta/fmt:approximateduration', delta=delta)
251 '12 days'
252
253- >>> test_tales('delta/fmt:approximateduration/use-digits', delta=delta)
254- '12 days'
255-
256 >>> delta = timedelta(days=0, minutes=62)
257 >>> test_tales('delta/fmt:exactduration', delta=delta)
258 '1 hour, 2 minutes, 0.0 seconds'
259
260 >>> test_tales('delta/fmt:approximateduration', delta=delta)
261- 'an hour'
262-
263- >>> test_tales('delta/fmt:approximateduration/use-digits', delta=delta)
264 '1 hour'
265
266 >>> delta = timedelta(days=0, minutes=82)
267@@ -1441,17 +1432,11 @@
268 >>> test_tales('delta/fmt:approximateduration', delta=delta)
269 '1 hour 20 minutes'
270
271- >>> test_tales('delta/fmt:approximateduration/use-digits', delta=delta)
272- '1 hour 20 minutes'
273-
274 >>> delta = timedelta(days=0, seconds=62)
275 >>> test_tales('delta/fmt:exactduration', delta=delta)
276 '1 minute, 2.0 seconds'
277
278 >>> test_tales('delta/fmt:approximateduration', delta=delta)
279- 'a minute'
280-
281- >>> test_tales('delta/fmt:approximateduration/use-digits', delta=delta)
282 '1 minute'
283
284 >>> delta = timedelta(days=0, seconds=90)
285@@ -1459,9 +1444,6 @@
286 '1 minute, 30.0 seconds'
287
288 >>> test_tales('delta/fmt:approximateduration', delta=delta)
289- 'two minutes'
290-
291- >>> test_tales('delta/fmt:approximateduration/use-digits', delta=delta)
292 '2 minutes'
293
294
295
296=== modified file 'lib/lp/bugs/templates/bugtarget-patches.pt'
297--- lib/lp/bugs/templates/bugtarget-patches.pt 2011-02-03 20:54:43 +0000
298+++ lib/lp/bugs/templates/bugtarget-patches.pt 2011-07-01 19:18:42 +0000
299@@ -75,7 +75,7 @@
300 age python:view.patchAge(patch)"
301 tal:attributes="id string:patch-cell-${repeat/patch_task/index}">
302 <a tal:attributes="href python:view.proxiedUrlForLibraryFile(patch)"
303- tal:content="age/fmt:approximateduration/use-digits"></a>
304+ tal:content="age/fmt:approximateduration"></a>
305 <div class="popupTitle"
306 tal:attributes="id string:patch-popup-${repeat/patch_task/index};">
307 <p tal:define="submitter patch/message/owner">
308
309=== modified file 'lib/lp/code/mail/tests/test_sourcepackagerecipebuild.py'
310--- lib/lp/code/mail/tests/test_sourcepackagerecipebuild.py 2011-01-06 07:09:57 +0000
311+++ lib/lp/code/mail/tests/test_sourcepackagerecipebuild.py 2011-07-01 19:18:42 +0000
312@@ -26,7 +26,7 @@
313 * Recipe: person/recipe
314 * Archive: archiveowner/ppa
315 * Distroseries: distroseries
316- * Duration: five minutes
317+ * Duration: 5 minutes
318 * Build Log: %s
319 * Upload Log:
320 * Builder: http://launchpad.dev/builders/bob
321
322=== modified file 'lib/lp/code/stories/codeimport/xx-codeimport-results.txt'
323--- lib/lp/code/stories/codeimport/xx-codeimport-results.txt 2011-06-21 01:39:18 +0000
324+++ lib/lp/code/stories/codeimport/xx-codeimport-results.txt 2011-07-01 19:18:42 +0000
325@@ -29,19 +29,19 @@
326 >>> import_results = find_tag_by_id(browser.contents, 'import-results')
327 >>> print extract_text(import_results).replace('&mdash;', '--')
328 Import started on 2007-12-07 on odin and finished on 2007-12-07
329- taking seven hours -- see the log
330+ taking 7 hours -- see the log
331 Import started on 2007-12-06 on odin and finished on 2007-12-06
332- taking six hours -- see the log
333+ taking 6 hours -- see the log
334 Import started on 2007-12-05 on odin and finished on 2007-12-05
335- taking five hours -- see the log
336+ taking 5 hours -- see the log
337 Import started on 2007-12-04 on odin and finished on 2007-12-04
338- taking four hours -- see the log
339+ taking 4 hours -- see the log
340 Import started on 2007-12-03 on odin and finished on 2007-12-03
341- taking three hours -- see the log
342+ taking 3 hours -- see the log
343 Import started on 2007-12-02 on odin and finished on 2007-12-02
344- taking two hours -- see the log
345+ taking 2 hours -- see the log
346 Import started on 2007-12-01 on odin and finished on 2007-12-01
347- taking an hour -- see the log
348+ taking 1 hour -- see the log
349
350 Each of the lines is prefixed with a tick if the result status was
351 success, or a cross if the status was a failure. The title of the image
352
353=== modified file 'lib/lp/registry/browser/tests/poll-views.txt'
354--- lib/lp/registry/browser/tests/poll-views.txt 2011-01-05 19:18:57 +0000
355+++ lib/lp/registry/browser/tests/poll-views.txt 2011-07-01 19:18:42 +0000
356@@ -101,7 +101,7 @@
357 >>> print extract_text(view.render())
358 Polls
359 title - closes on ...
360- You have seven days left to vote in this poll.
361+ You have 7 days left to vote in this poll.
362 Show polls
363
364 >>> login_person(owner)
365@@ -109,7 +109,7 @@
366 >>> print extract_text(view.render())
367 Polls
368 title - closes on ...
369- You have seven days left to vote in this poll.
370+ You have 7 days left to vote in this poll.
371 Show polls
372 Create a poll
373
374
375=== modified file 'lib/lp/registry/doc/teammembership-email-notification.txt'
376--- lib/lp/registry/doc/teammembership-email-notification.txt 2011-05-31 05:25:55 +0000
377+++ lib/lp/registry/doc/teammembership-email-notification.txt 2011-07-01 19:18:42 +0000
378@@ -446,7 +446,7 @@
379 To: colin.watson@ubuntulinux.com
380 Subject: Your membership in ubuntu-team is about to expire
381 <BLANKLINE>
382- On ..., nine days from now, your membership
383+ On ..., 9 days from now, your membership
384 in the Ubuntu Team (ubuntu-team) Launchpad team
385 is due to expire.
386 <http://launchpad.dev/~ubuntu-team>
387@@ -483,7 +483,7 @@
388 To: beta-admin@launchpad.net
389 Subject: launchpad-beta-testers will expire soon from ubuntu-team
390 <BLANKLINE>
391- On ..., nine days from now, the membership
392+ On ..., 9 days from now, the membership
393 of Launchpad Beta Testers (launchpad-beta-testers) (which you are
394 the owner of) in the Ubuntu Team (ubuntu-team) Launchpad team
395 is due to expire.
396@@ -517,7 +517,7 @@
397 To: colin.watson@ubuntulinux.com
398 Subject: Your membership in ubuntu-team is about to expire
399 <BLANKLINE>
400- On ..., nine days from now, your membership
401+ On ..., 9 days from now, your membership
402 in the Ubuntu Team (ubuntu-team) Launchpad team
403 is due to expire.
404 <http://launchpad.dev/~ubuntu-team>
405@@ -539,7 +539,7 @@
406 To: beta-admin@launchpad.net
407 Subject: launchpad-beta-testers will expire soon from ubuntu-team
408 <BLANKLINE>
409- On ..., nine days from now, the membership
410+ On ..., 9 days from now, the membership
411 of Launchpad Beta Testers (launchpad-beta-testers) (which you are
412 the owner of) in the Ubuntu Team (ubuntu-team) Launchpad team
413 is due to expire.
414@@ -575,7 +575,7 @@
415 To: test@canonical.com
416 Subject: Your membership in landscape-developers is about to expire
417 <BLANKLINE>
418- On ..., nine days from now, your membership
419+ On ..., 9 days from now, your membership
420 in the Landscape Developers (landscape-developers) Launchpad team
421 is due to expire.
422 <http://launchpad.dev/~landscape-developers>
423
424=== modified file 'lib/lp/soyuz/doc/build-failedtoupload-workflow.txt'
425--- lib/lp/soyuz/doc/build-failedtoupload-workflow.txt 2011-05-04 02:45:25 +0000
426+++ lib/lp/soyuz/doc/build-failedtoupload-workflow.txt 2011-07-01 19:18:42 +0000
427@@ -87,7 +87,7 @@
428 * Archive: ubuntu primary archive
429 * Component: main
430 * State: Failed to upload
431- * Duration: a minute
432+ * Duration: 1 minute
433 * Build Log: http://launchpad.dev/ubuntu/+source/cdrkit/1.0/+build/22/+fil=
434 es/netapplet-1.0.0.tar.gz
435 * Builder: http://launchpad.dev/builders/bob
436
437=== modified file 'lib/lp/soyuz/stories/soyuz/xx-buildfarm-index.txt'
438--- lib/lp/soyuz/stories/soyuz/xx-buildfarm-index.txt 2011-05-03 02:39:30 +0000
439+++ lib/lp/soyuz/stories/soyuz/xx-buildfarm-index.txt 2011-07-01 19:18:42 +0000
440@@ -22,7 +22,7 @@
441 frog 386 Disabled
442 Official distributions build status
443 Processor Builders Queue
444- 386 1 1 job (a minute)
445+ 386 1 1 job (1 minute)
446 PPA build status
447 Processor Builders Queue
448 386 0 empty
449@@ -44,7 +44,7 @@
450 ... find_tag_by_id(anon_browser.contents, 'official-queue-status'))
451 Official distributions build status
452 Processor Builders Queue
453- 386 1 1 job (a minute)
454+ 386 1 1 job (1 minute)
455
456 >>> print extract_text(
457 ... find_tag_by_id(anon_browser.contents, 'ppa-queue-status',))
458@@ -77,7 +77,7 @@
459 ... find_tag_by_id(anon_browser.contents, 'ppa-queue-status'))
460 PPA build status
461 Processor Builders Queue
462- 386 0 1 job (a minute)
463+ 386 0 1 job (1 minute)
464
465 If the archive for the build does not require virtual builders, then
466 the pending job will appear in the 'official' queue. Since the build
467@@ -99,7 +99,7 @@
468 ... find_tag_by_id(anon_browser.contents, 'official-queue-status'))
469 Official distributions build status
470 Processor Builders Queue
471- 386 1 2 jobs (two minutes)
472+ 386 1 2 jobs (2 minutes)
473
474 From this page, users with the appropriate permission can register new
475 builders.
476
477=== modified file 'lib/lp/soyuz/stories/soyuz/xx-builds-pages.txt'
478--- lib/lp/soyuz/stories/soyuz/xx-builds-pages.txt 2011-06-09 10:50:25 +0000
479+++ lib/lp/soyuz/stories/soyuz/xx-builds-pages.txt 2011-07-01 19:18:42 +0000
480@@ -144,12 +144,12 @@
481 Successfully built
482 i386 build of commercialpackage 1.0-1 in ubuntu breezy-autotest RELEASE
483 Build started on 2007-08-09 on an unknown build machine and finished
484- on 2007-08-09 taking ten minutes
485+ on 2007-08-09 taking 10 minutes
486 ------------------------------
487 Failed to upload
488 i386 build of cdrkit 1.0 in ubuntu breezy-autotest RELEASE
489 Build started on 2007-04-19 on Bob The Builder and finished on 2007-04-20
490- taking a minute &mdash; see the log
491+ taking 1 minute &mdash; see the log
492 ------------------------------
493 Failed to build
494 i386 build of cdrkit 1.0 in ubuntu warty RELEASE
495@@ -178,7 +178,7 @@
496 Missing dependencies:
497 cpp (&gt;= 4:4.0.1-3), gcc-4.0 (&gt;= 4.0.1-2)
498 Build started on 2006-02-27 on Bob The Builder and finished on 2006-02-28
499- taking six minutes &mdash; see the log
500+ taking 6 minutes &mdash; see the log
501 ------------------------------
502 Needs building
503 i386 build of alsa-utils 1.0.9a-4ubuntu1 in ubuntu hoary RELEASE
504@@ -201,22 +201,22 @@
505 Successfully built
506 i386 build of commercialpackage 1.0-1 in ubuntu breezy-autotest RELEASE
507 Build started on 2007-08-09 on an unknown build machine and finished
508- on 2007-08-09 taking ten minutes
509+ on 2007-08-09 taking 10 minutes
510 ------------------------------
511 Successfully built
512 i386 build of pmount 0.1-1 in ubuntu hoary RELEASE
513 Build started on 2005-03-24 on Bob The Builder and finished on 2005-03-25
514- taking a minute &mdash; see the log
515+ taking 1 minute &mdash; see the log
516 ------------------------------
517 Successfully built
518 hppa build of pmount 0.1-1 in ubuntu hoary RELEASE
519 Build started on 2005-03-24 on Bob The Builder and finished on 2005-03-25
520- taking a minute &mdash; see the log
521+ taking 1 minute &mdash; see the log
522 ------------------------------
523 Successfully built
524 i386 build of pmount 0.1-1 in ubuntu breezy-autotest RELEASE
525 Build started on 2005-03-24 on Bob The Builder and finished on 2005-03-25
526- taking a minute &mdash; see the log
527+ taking 1 minute &mdash; see the log
528 ------------------------------
529
530 >>> anon_browser.getControl(name="build_state").value = ['depwait']
531@@ -228,7 +228,7 @@
532 Missing dependencies:
533 cpp (&gt;= 4:4.0.1-3), gcc-4.0 (&gt;= 4.0.1-2)
534 Build started on 2006-02-27 on Bob The Builder and finished on 2006-02-28
535- taking six minutes &mdash; see the log
536+ taking 6 minutes &mdash; see the log
537 ------------------------------
538
539 >>> anon_browser.getControl(name="build_state").value = ['failed']
540@@ -248,7 +248,7 @@
541 Failed to build
542 i386 build of pmount 0.1-1 in ubuntu warty RELEASE
543 Build started on 2005-10-01 on Bob The Builder and finished on 2005-10-02
544- taking three minutes &mdash; see the log
545+ taking 3 minutes &mdash; see the log
546 ------------------------------
547
548 == Form errors ==
549@@ -314,17 +314,17 @@
550 Successfully built
551 i386 build of pmount 0.1-1 in ubuntu warty RELEASE
552 Build started on 2007-07-23 and finished on 2007-07-24
553- taking a minute &mdash; see the log
554+ taking 1 minute &mdash; see the log
555 ------------------------------
556 Failed to build
557 i386 build of cdrkit 1.0 in ubuntu breezy-autotest RELEASE
558 Build started on 2007-07-07 and finished on 2007-07-08
559- taking a minute &mdash; see the log
560+ taking 1 minute &mdash; see the log
561 ------------------------------
562 Failed to build
563 i386 build of cdrkit 1.0 in ubuntu warty RELEASE
564 Build started on 2007-05-29 and finished on 2007-05-30
565- taking a minute &mdash; see the log
566+ taking 1 minute &mdash; see the log
567 ------------------------------
568
569 In the second batch, additionally to the failed-to-build builds
570@@ -337,7 +337,7 @@
571 Failed to upload
572 i386 build of cdrkit 1.0 in ubuntu breezy-autotest RELEASE
573 Build started on 2007-04-19 and finished on 2007-04-20
574- taking a minute &mdash; see the log
575+ taking 1 minute &mdash; see the log
576 ------------------------------
577 Failed to build
578 i386 build of foobar 1.0 in ubuntu warty RELEASE
579@@ -365,7 +365,7 @@
580 Missing dependencies:
581 cpp (&gt;= 4:4.0.1-3), gcc-4.0 (&gt;= 4.0.1-2)
582 Build started on 2006-02-27 and finished on 2006-02-28
583- taking six minutes &mdash; see the log
584+ taking 6 minutes &mdash; see the log
585 ------------------------------
586 ...
587
588
589=== modified file 'lib/lp/translations/browser/tests/test_baseexportview.py'
590--- lib/lp/translations/browser/tests/test_baseexportview.py 2010-10-05 00:08:16 +0000
591+++ lib/lp/translations/browser/tests/test_baseexportview.py 2011-07-01 19:18:42 +0000
592@@ -201,7 +201,7 @@
593
594 backlog = timedelta(hours=2)
595 self.assertEqual(
596- "The backlog is approximately two hours.",
597+ "The backlog is approximately 2 hours.",
598 self.view.describeBacklog(backlog).strip())
599
600 def test_export_queue_status(self):
601
602=== modified file 'lib/lp/translations/stories/buildfarm/xx-build-summary.txt'
603--- lib/lp/translations/stories/buildfarm/xx-build-summary.txt 2011-05-27 19:53:20 +0000
604+++ lib/lp/translations/stories/buildfarm/xx-build-summary.txt 2011-07-01 19:18:42 +0000
605@@ -158,4 +158,4 @@
606 1 ... 1 of 1 result
607 ...
608 Translation template build
609- Build started ... and finished ... taking five minutes
610+ Build started ... and finished ... taking 5 minutes