Merge ~cjwatson/launchpad:codespell-rst into launchpad:master

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: 993c2c04fc8592a44c76ffea29713a8139486268
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/launchpad:codespell-rst
Merge into: launchpad:master
Diff against target: 895 lines (+94/-81)
46 files modified
.codespell-ignore (+4/-0)
.pre-commit-config.yaml (+10/-1)
lib/lp/blueprints/stories/sprints/xx-sprints.rst (+1/-1)
lib/lp/bugs/doc/bugattachments.rst (+1/-1)
lib/lp/services/database/doc/textsearching.rst (+4/-4)
lib/lp/services/database/tests/decoratedresultset.rst (+1/-1)
lib/lp/services/doc/limitedlist.rst (+1/-1)
lib/lp/services/mail/doc/sending-mail.rst (+2/-2)
lib/lp/services/messages/doc/message.rst (+1/-1)
lib/lp/services/scripts/doc/launchpad-scripts.rst (+1/-1)
lib/lp/services/webapp/doc/canonical_url.rst (+1/-1)
lib/lp/services/webapp/doc/navigation.rst (+2/-2)
lib/lp/services/worlddata/stories/webservice/xx-language.rst (+2/-2)
lib/lp/soyuz/browser/tests/archive-views.rst (+4/-4)
lib/lp/soyuz/doc/archive.rst (+1/-1)
lib/lp/soyuz/doc/buildd-mass-retry.rst (+1/-1)
lib/lp/soyuz/doc/distribution.rst (+2/-2)
lib/lp/soyuz/doc/distroseriesqueue.rst (+1/-1)
lib/lp/soyuz/doc/gina.rst (+4/-4)
lib/lp/soyuz/doc/publishing.rst (+2/-2)
lib/lp/soyuz/doc/sourcepackagerelease.rst (+3/-3)
lib/lp/soyuz/stories/distribution/xx-distribution-packages.rst (+1/-1)
lib/lp/soyuz/stories/ppa/xx-ppa-workflow.rst (+2/-2)
lib/lp/soyuz/stories/ppa/xx-ubuntu-ppas.rst (+1/-1)
lib/lp/soyuz/stories/soyuz/xx-build-record.rst (+3/-3)
lib/lp/soyuz/stories/soyuz/xx-distroarchseries-binpackages.rst (+1/-1)
lib/lp/testing/doc/pagetest-helpers.rst (+2/-2)
lib/lp/testopenid/stories/basics.rst (+1/-1)
lib/lp/translations/browser/tests/language-views.rst (+5/-5)
lib/lp/translations/browser/tests/potemplate-views.rst (+2/-2)
lib/lp/translations/browser/tests/translationmessage-views.rst (+3/-3)
lib/lp/translations/doc/browser-helpers.rst (+1/-1)
lib/lp/translations/doc/pofile.rst (+2/-2)
lib/lp/translations/doc/poimport-pofile-old-po-imported.rst (+1/-1)
lib/lp/translations/doc/request_country.rst (+1/-1)
lib/lp/translations/doc/translationbranchapprover.rst (+6/-6)
lib/lp/translations/stories/distroseries/xx-distroseries-translations.rst (+1/-1)
lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.rst (+1/-1)
lib/lp/translations/stories/productseries/xx-productseries-translations-settings.rst (+1/-1)
lib/lp/translations/stories/standalone/xx-pofile-translate.rst (+1/-1)
lib/lp/translations/stories/standalone/xx-potemplate-admin.rst (+1/-1)
lib/lp/translations/stories/standalone/xx-potemplate-edit.rst (+3/-3)
lib/lp/translations/stories/standalone/xx-potemplate-index.rst (+1/-1)
lib/lp/translations/stories/translationgroups/xx-translationgroups.rst (+2/-2)
lib/lp/translations/utilities/doc/gettext_po_exporter.rst (+1/-1)
lib/lp/translations/utilities/doc/templatenames.rst (+1/-1)
Reviewer Review Type Date Requested Status
Colin Watson (community) Approve
Review via email: mp+438340@code.launchpad.net

Commit message

Fix remaining spelling errors in *.rst

Description of the change

This is now enforced. `codespell` doesn't have a mechanism for making local exceptions, so I applied a few per-file exclusions in `.pre-commit-config.yaml` to cope with cases that are too awkward to deal with otherwise.

To post a comment you must log in.
Revision history for this message
Colin Watson (cjwatson) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/.codespell-ignore b/.codespell-ignore
2index 8ff60e4..1d1422b 100644
3--- a/.codespell-ignore
4+++ b/.codespell-ignore
5@@ -1,9 +1,13 @@
6 buildd
7 changee
8+coo
9 distroname
10 falsy
11 fpr
12+importd
13 iterm
14+lightening
15 serieses
16+sting
17 tread
18 troup
19diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
20index c1e3cd9..dab74e2 100644
21--- a/.pre-commit-config.yaml
22+++ b/.pre-commit-config.yaml
23@@ -86,7 +86,16 @@ repos:
24 hooks:
25 - id: codespell
26 args: ["-I", ".codespell-ignore"]
27- files: ^(doc/.*\.rst|.*\.js)$
28+ files: ^(.*\.js|.*\.rst)$
29+ exclude: |
30+ (?x)^(
31+ # URL-encoding of "foö".
32+ lib/lp/bugs/doc/bugattachments\.rst
33+ # Quoted-printable encoding.
34+ |lib/lp/code/doc/branch-notifications\.rst
35+ # Word truncated by stemming.
36+ |lib/lp/services/database/doc/textsearching\.rst
37+ )$
38 - repo: https://github.com/get-woke/woke
39 rev: v0.19.0
40 hooks:
41diff --git a/lib/lp/blueprints/stories/sprints/xx-sprints.rst b/lib/lp/blueprints/stories/sprints/xx-sprints.rst
42index 70ed81e..daaa223 100644
43--- a/lib/lp/blueprints/stories/sprints/xx-sprints.rst
44+++ b/lib/lp/blueprints/stories/sprints/xx-sprints.rst
45@@ -77,7 +77,7 @@ First we'll test the name field validator.
46 ...
47 There is 1 error.
48 <BLANKLINE>
49- Invalid name 'ltsp_on_steroids!'. Names must be at least two characte...
50+ Invalid name 'ltsp_on_steroids!'. Names must be at least two characters...
51
52 Register a sprint with the same name of a existing one also returns a
53 nice error message
54diff --git a/lib/lp/bugs/doc/bugattachments.rst b/lib/lp/bugs/doc/bugattachments.rst
55index 58e16f1..f33731b 100644
56--- a/lib/lp/bugs/doc/bugattachments.rst
57+++ b/lib/lp/bugs/doc/bugattachments.rst
58@@ -286,7 +286,7 @@ attachment was added.
59
60 Let's try uploading a file with some weird characters in them:
61
62- >>> filecontent.filename = "fo\xf6 bar"
63+ >>> filecontent.filename = "foö bar"
64 >>> add_request = LaunchpadTestRequest(
65 ... method="POST",
66 ... form={
67diff --git a/lib/lp/services/database/doc/textsearching.rst b/lib/lp/services/database/doc/textsearching.rst
68index dc934bf..e6da7fa 100644
69--- a/lib/lp/services/database/doc/textsearching.rst
70+++ b/lib/lp/services/database/doc/textsearching.rst
71@@ -65,7 +65,7 @@ If a query contains multiple words, an AND query is performed:
72 ... )
73 Carlos Valdivia Yagüe
74
75-This can also be explicity performed by joining the words with 'and':
76+This can also be explicitly performed by joining the words with 'and':
77
78 >>> runsql(
79 ... """
80@@ -171,7 +171,7 @@ Boolean operations are allowed
81 hi&!dad <=> 'hi' & !'dad'
82
83
84-Brackets are allowed to specify precidence
85+Brackets are allowed to specify precedence
86
87 >>> ftq("(HI OR HELLO) AND mom")
88 (hi|hello)&mom <=> ( 'hi' | 'hello' ) & 'mom'
89@@ -673,7 +673,7 @@ on Ubuntu) - so we are disabling this and reworking from the ground up.
90 nl_term_candidates()
91 ~~~~~~~~~~~~~~~~~~~~
92
93-To find the terms in a search phrase that are canditates for the search,
94+To find the terms in a search phrase that are candidates for the search,
95 we can use the nl_term_candidates() function. This function uses ftq()
96 internally to removes stop words and other words that will be ignored
97 by tsearch2. All words are also stemmed.
98@@ -692,7 +692,7 @@ It returns an empty list when there is only stop-words in the query:
99 >>> nl_term_candidates("how do I do this?")
100 []
101
102-Except for the hyphenation character, all non-word caracters are ignored:
103+Except for the hyphenation character, all non-word characters are ignored:
104
105 >>> for term in nl_term_candidates(
106 ... "Will the ''|'' character (inside a ''quoted'' string) " "work???"
107diff --git a/lib/lp/services/database/tests/decoratedresultset.rst b/lib/lp/services/database/tests/decoratedresultset.rst
108index 62ed0a7..be98ffb 100644
109--- a/lib/lp/services/database/tests/decoratedresultset.rst
110+++ b/lib/lp/services/database/tests/decoratedresultset.rst
111@@ -39,7 +39,7 @@ ResultSet:
112 copy()
113 ------
114
115-The decorated copy method calls the orgininal result sets copy method
116+The decorated copy method calls the original result sets copy method
117 and then returns a new decorated result set composed of the new
118 copy:
119
120diff --git a/lib/lp/services/doc/limitedlist.rst b/lib/lp/services/doc/limitedlist.rst
121index 955298c..dd13b45 100644
122--- a/lib/lp/services/doc/limitedlist.rst
123+++ b/lib/lp/services/doc/limitedlist.rst
124@@ -101,7 +101,7 @@ length limit.
125 >>> list_four
126 <LimitedList(3, [2, 3, 4])>
127
128-Similary, a LimitedList does not exceed it length limit, when we extend()
129+Similarly, a LimitedList does not exceed its length limit when we extend()
130 it.
131
132 >>> list_five = LimitedList(3, [1])
133diff --git a/lib/lp/services/mail/doc/sending-mail.rst b/lib/lp/services/mail/doc/sending-mail.rst
134index 5a6c0db..580dd66 100644
135--- a/lib/lp/services/mail/doc/sending-mail.rst
136+++ b/lib/lp/services/mail/doc/sending-mail.rst
137@@ -11,7 +11,7 @@ simple_mail can be used to send mail easily:
138 ... body="Content",
139 ... )
140
141-The mail get sent when the transaction gets commited:
142+The mail get sent when the transaction gets committed:
143
144 >>> import transaction
145 >>> transaction.commit()
146@@ -209,7 +209,7 @@ surrounded by quotes and quoted if necessary:
147 ('Foo [Baz] " Bar', 'foo.bar@canonical.com')
148
149
150-If we pass a unicode object to send_mail, it will try and covert it. If a
151+If we pass a unicode object to send_mail, it will try and convert it. If a
152 non-ASCII str object is passed, it will throw a UnicodeDecodeError.
153
154 >>> simple_sendmail(
155diff --git a/lib/lp/services/messages/doc/message.rst b/lib/lp/services/messages/doc/message.rst
156index 21895f9..8a643be 100644
157--- a/lib/lp/services/messages/doc/message.rst
158+++ b/lib/lp/services/messages/doc/message.rst
159@@ -502,7 +502,7 @@ otherwise reject the method as invalid.
160
161 >>> msg_bytes = b"""\
162 ... From: foo.bar@canonical.com
163- ... Subject: I have no date! Oh teh noes!
164+ ... Subject: I have no date! Oh no!
165 ... Message-Id: <therearenofnords>
166 ...
167 ... In search of cheesy comestibles.
168diff --git a/lib/lp/services/scripts/doc/launchpad-scripts.rst b/lib/lp/services/scripts/doc/launchpad-scripts.rst
169index 704b3a3..b193905 100644
170--- a/lib/lp/services/scripts/doc/launchpad-scripts.rst
171+++ b/lib/lp/services/scripts/doc/launchpad-scripts.rst
172@@ -6,7 +6,7 @@ lp.services.scripts.base. This, along with the LaunchpadCronScript
173 specialization, implement common behaviour for all Launchpad command
174 line scripts.
175
176-Scripts report their executution using the standard Python logging
177+Scripts report their execution using the standard Python logging
178 module, with command line arguments and logging setup provided by
179 LaunchpadScript. Unhandled exceptions from scripts are automatically
180 sent to the Python logging system. Cronscripts (scripts using
181diff --git a/lib/lp/services/webapp/doc/canonical_url.rst b/lib/lp/services/webapp/doc/canonical_url.rst
182index f2825cc..d7b36cc 100644
183--- a/lib/lp/services/webapp/doc/canonical_url.rst
184+++ b/lib/lp/services/webapp/doc/canonical_url.rst
185@@ -218,7 +218,7 @@ normal way to do this. Normally, we'd just say
186
187 parent_utility="lp.services.webapp.interfaces.ILaunchpadRoot"
188
189-But, here, I want to test the variant of the zcml directive that specifes
190+But, here, I want to test the variant of the zcml directive that specifies
191 an adapter.
192
193 >>> from lp.services.webapp.interfaces import ILaunchpadRoot
194diff --git a/lib/lp/services/webapp/doc/navigation.rst b/lib/lp/services/webapp/doc/navigation.rst
195index 522f5c7..bb260b4 100644
196--- a/lib/lp/services/webapp/doc/navigation.rst
197+++ b/lib/lp/services/webapp/doc/navigation.rst
198@@ -529,11 +529,11 @@ with the remainder of the URL and or query string.
199 301
200
201 >>> request.traversal_stack = ["LaunchpadMeeting"]
202- >>> request.query_string = "hilight=Time"
203+ >>> request.query_string = "highlight=Time"
204 >>> print(navigation5.publishTraverse(request, "+foo")())
205 <BLANKLINE>
206 >>> print(request.response.redirected_to)
207- http://wiki.canonical.com/LaunchpadMeeting?hilight=Time
208+ http://wiki.canonical.com/LaunchpadMeeting?highlight=Time
209 >>> print(request.response.status)
210 303
211
212diff --git a/lib/lp/services/worlddata/stories/webservice/xx-language.rst b/lib/lp/services/worlddata/stories/webservice/xx-language.rst
213index 48a6220..90f4d47 100644
214--- a/lib/lp/services/worlddata/stories/webservice/xx-language.rst
215+++ b/lib/lp/services/worlddata/stories/webservice/xx-language.rst
216@@ -26,8 +26,8 @@ The language information from Launchpad can be queried using
217 True
218
219
220-Accesing all or visible languages through API
221----------------------------------------------
222+Accessing all or visible languages through API
223+----------------------------------------------
224
225 The list of all languages visible by default in Launchpad can by obtained
226 at '/+languages'.
227diff --git a/lib/lp/soyuz/browser/tests/archive-views.rst b/lib/lp/soyuz/browser/tests/archive-views.rst
228index bcd4d06..fd073db 100644
229--- a/lib/lp/soyuz/browser/tests/archive-views.rst
230+++ b/lib/lp/soyuz/browser/tests/archive-views.rst
231@@ -609,7 +609,7 @@ is a copy archive.
232 ArchivePackageDeletionView
233 ==========================
234
235-We use ArchivePackageDeletionView to provide the mechnisms used to
236+We use ArchivePackageDeletionView to provide the mechanisms used to
237 delete packages from a PPA via the UI.
238
239 This view is only accessible by users with 'launchpad.Edit' permission
240@@ -664,7 +664,7 @@ filtered results.
241 ...
242 pmount 0.1-1 in warty
243
244-The 'name_filter' is decoded as UTF-8 before futher processing. If it
245+The 'name_filter' is decoded as UTF-8 before further processing. If it
246 did not, the storm query compiler would raise an error, because it can
247 only deal with unicode variables.
248
249@@ -746,7 +746,7 @@ situation and ignore it. See bug #185922 for reference.
250 ArchiveEditDependenciesView
251 ===========================
252
253-We use ArchiveEditDependenciesView to provide the mechnisms used to
254+We use ArchiveEditDependenciesView to provide the mechanisms used to
255 add and/or remove archive dependencies for a PPA via the UI.
256
257 This view is only accessible by users with 'launchpad.Edit' permission
258@@ -836,7 +836,7 @@ dependency. Each element has:
259
260 * value: dependency IArchive,
261 * token: dependency IArchive.owner,
262- * title: link to the dependency IArchive in Launchpad redered as the
263+ * title: link to the dependency IArchive in Launchpad rendered as the
264 dependency title.
265
266 >>> [dependency] = view.widgets.get("selected_dependencies").vocabulary
267diff --git a/lib/lp/soyuz/doc/archive.rst b/lib/lp/soyuz/doc/archive.rst
268index d260e89..b564b12 100644
269--- a/lib/lp/soyuz/doc/archive.rst
270+++ b/lib/lp/soyuz/doc/archive.rst
271@@ -1348,7 +1348,7 @@ private.
272 PPA named myprivateppa for Celso Providelo
273
274 'getLatestPPASourcePublicationsForDistribution' returns up to 5
275-lastest source publications available for a given distribution ordered
276+latest source publications available for a given distribution ordered
277 by descending 'datecreated'.
278
279 >>> latest_uploads = (
280diff --git a/lib/lp/soyuz/doc/buildd-mass-retry.rst b/lib/lp/soyuz/doc/buildd-mass-retry.rst
281index 603b050..680371c 100644
282--- a/lib/lp/soyuz/doc/buildd-mass-retry.rst
283+++ b/lib/lp/soyuz/doc/buildd-mass-retry.rst
284@@ -22,7 +22,7 @@ Also, can combine the types of failure we allow to be retried:
285 * -D: retry builds marked as MANUALDEPWAIT
286 * -C: retry builds marked as CHROOTWAIT
287
288-The available types can be combined acording the situation.
289+The available types can be combined according to the situation.
290
291 The script provides dry-run mode (-N).
292
293diff --git a/lib/lp/soyuz/doc/distribution.rst b/lib/lp/soyuz/doc/distribution.rst
294index a0e13e2..485fa14 100644
295--- a/lib/lp/soyuz/doc/distribution.rst
296+++ b/lib/lp/soyuz/doc/distribution.rst
297@@ -152,8 +152,8 @@ Retrieving only pending-acceptance PPAs
298 ---------------------------------------
299
300 'getPendingAcceptancePPAs' lookup will only return PPA which have
301-Package Upload (queue) records in ACCEPTED state, it it used in
302-'process-accepted' in '--ppa' mode to avoid quering all PPAs:
303+Package Upload (queue) records in ACCEPTED state. It is used in
304+'process-accepted' in '--ppa' mode to avoid querying all PPAs:
305
306 Nothing is pending-acceptance in sampledata:
307
308diff --git a/lib/lp/soyuz/doc/distroseriesqueue.rst b/lib/lp/soyuz/doc/distroseriesqueue.rst
309index 4b61f79..b8ebcf4 100644
310--- a/lib/lp/soyuz/doc/distroseriesqueue.rst
311+++ b/lib/lp/soyuz/doc/distroseriesqueue.rst
312@@ -397,7 +397,7 @@ has a similar behaviour):
313 1.0
314
315 The upload admin can not accept both since we check unique
316-(name, version) accross distribution:
317+(name, version) across distribution:
318
319 >>> dup_one.setAccepted()
320 >>> dup_one.status == PackageUploadStatus.ACCEPTED
321diff --git a/lib/lp/soyuz/doc/gina.rst b/lib/lp/soyuz/doc/gina.rst
322index 97d53d5..ae17b6e 100644
323--- a/lib/lp/soyuz/doc/gina.rst
324+++ b/lib/lp/soyuz/doc/gina.rst
325@@ -83,7 +83,7 @@ packages successfully (at least partially):
326 * libcap, a source package which generates 3 binary packages, and
327 whose version number contains an epoch. It is not in the Breezy
328 Sources list, but some binaries are in the Packages file. However, these
329- binaries are unchaged in Breezy.
330+ binaries are unchanged in Breezy.
331 * ubuntu-meta, a source package that generates 3 binary packages in
332 Hoary and 5 in breezy. However, its breezy version is /not/ listed in the
333 Sources list, so the binary packages will need to discover it.
334@@ -114,7 +114,7 @@ And two completely broken packages:
335 Sources and Packages, though.
336
337 * clearlooks, a source package with no binaries listed, and which has
338- a DSC file that refers to an inexistant tar.gz.
339+ a DSC file that refers to a nonexistent tar.gz.
340
341 Let's set up the filesystem:
342
343@@ -238,7 +238,7 @@ Check that x11proto-damage has its Build-Depends-Indep value correctly set:
344 >>> print(x11p.builddependsindep)
345 debhelper (>= 4.0.0)
346
347-Check if the changelog message was stored correcly:
348+Check if the changelog message was stored correctly:
349
350 >>> print(x11p.changelog_entry)
351 ... # noqa
352@@ -835,7 +835,7 @@ Commit the changes and run the importer script.
353 >>> transaction.commit()
354
355 There is now a number of source publications in PUBLISHED status for the
356-targetted distroseries, 'lenny'.
357+targeted distroseries, 'lenny'.
358
359 >>> lenny_sources = SSPPH.select("distroseries = %s" % sqlvalues(lenny))
360 >>> lenny_sources.count()
361diff --git a/lib/lp/soyuz/doc/publishing.rst b/lib/lp/soyuz/doc/publishing.rst
362index 8e0e42e..9e39c8a 100644
363--- a/lib/lp/soyuz/doc/publishing.rst
364+++ b/lib/lp/soyuz/doc/publishing.rst
365@@ -1174,7 +1174,7 @@ other PPA.
366 otherppa
367
368 # Copy the source into Celso's PPA, ensuring that the binaries
369- # are alse published there.
370+ # are also published there.
371 >>> source_pub_cprov = source_pub.copyTo(
372 ... source_pub.distroseries, source_pub.pocket, cprov.archive
373 ... )
374@@ -1589,7 +1589,7 @@ publications.
375
376 The 'sourcepackagerelease' attribute from a decorated
377 `ArchiveSourcePublication` object is also another decorated object,
378-this way we can cache information refered to:
379+this way we can cache information referred to:
380
381 * upload_changesfile.
382
383diff --git a/lib/lp/soyuz/doc/sourcepackagerelease.rst b/lib/lp/soyuz/doc/sourcepackagerelease.rst
384index 29d9f34..fe6ee18 100644
385--- a/lib/lp/soyuz/doc/sourcepackagerelease.rst
386+++ b/lib/lp/soyuz/doc/sourcepackagerelease.rst
387@@ -137,7 +137,7 @@ IDistroSeries API:
388
389 All the arguments to create an ISourcePackageRelease are obtained when
390 processing a source upload, see more details in nascentupload.rst.
391-Some of the 20 required arguments are foreign keys or DB contants:
392+Some of the 20 required arguments are foreign keys or DB constants:
393
394 >>> arg_name = getUtility(ISourcePackageNameSet)["pmount"]
395 >>> arg_comp = getUtility(IComponentSet)["universe"]
396@@ -151,12 +151,12 @@ Some of the 20 required arguments are foreign keys or DB contants:
397 >>> arg_recipebuild = factory.makeSourcePackageRecipeBuild()
398 >>> changelog = None
399
400-The other argurments are strings:
401+The other arguments are strings:
402
403 >>> version = "0.0.99"
404 >>> dsc = "smashed dsc..."
405 >>> copyright = "smashed debian/copyright ..."
406- >>> changelog_entry = "contigous text...."
407+ >>> changelog_entry = "contiguous text..."
408 >>> archhintlist = "any"
409 >>> builddepends = "cdbs, debhelper (>= 4.1.0), libsysfs-dev, libhal-dev"
410 >>> builddependsindep = ""
411diff --git a/lib/lp/soyuz/stories/distribution/xx-distribution-packages.rst b/lib/lp/soyuz/stories/distribution/xx-distribution-packages.rst
412index bc7a550..72471e9 100644
413--- a/lib/lp/soyuz/stories/distribution/xx-distribution-packages.rst
414+++ b/lib/lp/soyuz/stories/distribution/xx-distribution-packages.rst
415@@ -451,7 +451,7 @@ release.
416 /ubuntu/+source/alsa-utils/1.0.9a-4ubuntu1
417
418 Following the header we get a body with the changelog in it. Note that
419-any email addreses in the changelog are obfuscated because we are not
420+any email addresses in the changelog are obfuscated because we are not
421 logged in (this prevents bots from harvesting email addresses).
422
423 >>> first_body = find_tag_by_id(
424diff --git a/lib/lp/soyuz/stories/ppa/xx-ppa-workflow.rst b/lib/lp/soyuz/stories/ppa/xx-ppa-workflow.rst
425index 63ee5f0..7e95678 100644
426--- a/lib/lp/soyuz/stories/ppa/xx-ppa-workflow.rst
427+++ b/lib/lp/soyuz/stories/ppa/xx-ppa-workflow.rst
428@@ -709,7 +709,7 @@ are unable to see it on Celso's profile page.
429 Personal package archives
430 PPA for Celso Providelo
431
432-Celso himself can see the PPA, and it's linked so he can reenable it if
433+Celso himself can see the PPA, and it's linked so he can re-enable it if
434 required.
435
436 >>> cprov_browser.open("http://launchpad.test/~cprov")
437@@ -882,7 +882,7 @@ no longer "Delete packages", "Edit PPA dependencies", or "Change details".
438 zope.testbrowser.browser.LinkNotFoundError
439
440 Even if someone URL-hacks to the edit form, it's not possible to
441-reenable the PPA or turn on publishing.
442+re-enable the PPA or turn on publishing.
443
444 >>> no_priv_browser.open(
445 ... "http://launchpad.test/~no-priv/+archive/ppa/+edit"
446diff --git a/lib/lp/soyuz/stories/ppa/xx-ubuntu-ppas.rst b/lib/lp/soyuz/stories/ppa/xx-ubuntu-ppas.rst
447index 0052b61..b89f0c4 100644
448--- a/lib/lp/soyuz/stories/ppa/xx-ubuntu-ppas.rst
449+++ b/lib/lp/soyuz/stories/ppa/xx-ubuntu-ppas.rst
450@@ -119,7 +119,7 @@ PPA supported architectures reflects what we have in sampledata.
451 >>> print(find_tag_by_id(anon_browser.contents, "ppa_most_active"))
452 None
453
454-The 'search' form is also suppresed.
455+The 'search' form is also suppressed.
456
457 >>> anon_browser.getControl("Search", index=0).click()
458 Traceback (most recent call last):
459diff --git a/lib/lp/soyuz/stories/soyuz/xx-build-record.rst b/lib/lp/soyuz/stories/soyuz/xx-build-record.rst
460index a10d21d..216c9d4 100644
461--- a/lib/lp/soyuz/stories/soyuz/xx-build-record.rst
462+++ b/lib/lp/soyuz/stories/soyuz/xx-build-record.rst
463@@ -55,7 +55,7 @@ page. It's title briefly describes the build.
464 In the page body readers can see 2 sections, 'Build status' and 'Build
465 details'.
466
467-Since builds respect a fixed workflow (pending -> buiding ->
468+Since builds respect a fixed workflow (pending -> building ->
469 built|failed), readers are mostly interested in their
470 status. That's why this section comes first.
471
472@@ -129,7 +129,7 @@ about 'Build scores' is available.
473 >>> print(anon_browser.getLink("What's this").url)
474 https://help.launchpad.net/Packaging/BuildScores
475
476-Adminstrators can rescore pending builds in a separate form.
477+Administrators can rescore pending builds in a separate form.
478
479 >>> admin_browser.open(build_url)
480 >>> admin_browser.getLink("Rescore build").click()
481@@ -428,7 +428,7 @@ binary reference finally becomes a link to its corresponding page.
482 PPA builds
483 ==========
484
485-Build records for PPAs contain all the features and aspects decribed
486+Build records for PPAs contain all the features and aspects described
487 above. The only difference is that source and binary package
488 references are not linkified, since PPAs do not allow users to
489 navigate to packages.
490diff --git a/lib/lp/soyuz/stories/soyuz/xx-distroarchseries-binpackages.rst b/lib/lp/soyuz/stories/soyuz/xx-distroarchseries-binpackages.rst
491index 5638423..973d3b1 100644
492--- a/lib/lp/soyuz/stories/soyuz/xx-distroarchseries-binpackages.rst
493+++ b/lib/lp/soyuz/stories/soyuz/xx-distroarchseries-binpackages.rst
494@@ -158,7 +158,7 @@ Now reload the page to see the deleted file without the link.
495 None
496
497 Binary Packages with no files to present results in a clear statement
498-intead of a empty section.
499+instead of a empty section.
500
501 >>> browser.open("http://launchpad.test/ubuntu/hoary/i386/pmount/0.1-1")
502 >>> print(extract_text(find_tag_by_id(browser.contents, "files")))
503diff --git a/lib/lp/testing/doc/pagetest-helpers.rst b/lib/lp/testing/doc/pagetest-helpers.rst
504index a223193..dabc85a 100644
505--- a/lib/lp/testing/doc/pagetest-helpers.rst
506+++ b/lib/lp/testing/doc/pagetest-helpers.rst
507@@ -3,7 +3,7 @@ Page Tests Helpers
508
509 Page tests are used to test common use-cases about Launchpad. We use the
510 zope.testbrowser component to write most of these tests. The pagetest
511-doctest environement comes loaded with a bunch of predefined names that
512+doctest environment comes loaded with a bunch of predefined names that
513 makes writing page test easy.
514
515 >>> from lp.testing.pages import setUpGlobs
516@@ -70,7 +70,7 @@ standard error page.
517 Using Raw HTTP Requests
518 -----------------------
519
520-Altough testbrowser is very convenient, sometimes more control over the
521+Although testbrowser is very convenient, sometimes more control over the
522 request is needed. For these cases, there is a function available under
523 'http' that can be used to send raw HTTP request.
524
525diff --git a/lib/lp/testopenid/stories/basics.rst b/lib/lp/testopenid/stories/basics.rst
526index dd358ab..6b34452 100644
527--- a/lib/lp/testopenid/stories/basics.rst
528+++ b/lib/lp/testopenid/stories/basics.rst
529@@ -104,7 +104,7 @@ check_authentication Mode
530 Ask an Identity Provider if a message is valid. For dumb, stateless
531 Consumers or when verifying an invalidate_handle response.
532
533-If an association handle is stateful (genereted using the associate Mode),
534+If an association handle is stateful (generated using the associate Mode),
535 check_authentication will fail.
536
537 >>> args = urlencode(
538diff --git a/lib/lp/translations/browser/tests/language-views.rst b/lib/lp/translations/browser/tests/language-views.rst
539index 3151d91..19b8f77 100644
540--- a/lib/lp/translations/browser/tests/language-views.rst
541+++ b/lib/lp/translations/browser/tests/language-views.rst
542@@ -93,8 +93,8 @@ View Language
543 -------------
544
545 Translators lists for each language are computed using KarmaCache tables for
546-users which have configured their prefered language. Since KarmaCache tables
547-are generated using nightly builds, we will change Langauge.translators to
548+users which have configured their preferred language. Since KarmaCache tables
549+are generated using nightly builds, we will change Language.translators to
550 use the list of translators generated by this test.
551
552 Language.translators is deleted so that we can add our custom
553@@ -120,7 +120,7 @@ formula expression to see how it works.
554 2 : 0, 5, 6, 7, 8, 9...
555
556 The top contributors are listed on the language page, and for a merged account
557-we will see their targed account.
558+we will see their target account.
559
560 Create some translators and a merged account.
561
562@@ -174,7 +174,7 @@ accounts.
563 ... pofile=pofile, translator=translator_main, potmsgset=potmsgset
564 ... )
565
566-Langauge.translators is Monkey-patched to avoid fetching KarmaCache.
567+Language.translators is monkey-patched to avoid fetching KarmaCache.
568 Language.translator is a list containing all contributors decreasingly sorted
569 according to their karma value.
570
571@@ -205,7 +205,7 @@ View LanguageSet
572 >>> languageset_view = create_initialized_view(language_set, "+index")
573
574 The user_languages property contains a list of the current user's preferred
575-languages formated as links.
576+languages formatted as links.
577
578 >>> print(languageset_view.user_languages)
579 <a href=".../ca" ...>Catalan</a>,
580diff --git a/lib/lp/translations/browser/tests/potemplate-views.rst b/lib/lp/translations/browser/tests/potemplate-views.rst
581index 9173c27..2601900 100644
582--- a/lib/lp/translations/browser/tests/potemplate-views.rst
583+++ b/lib/lp/translations/browser/tests/potemplate-views.rst
584@@ -16,7 +16,7 @@ First, we need some imports.
585 ... ISourcePackageNameSet,
586 ... )
587
588-All the tests will be submitted as comming from the No Privilege person.
589+All the tests will be submitted as coming from the No Privilege person.
590
591 >>> login("no-priv@canonical.com")
592
593@@ -111,7 +111,7 @@ the entry should be linked with the IPOTemplate we are using.
594
595 And for the path, we are going to use the filename we got from the upload form
596 because it's a .po file instead of a .pot file and we need that information
597-to differenciate different .po files associated with the context.
598+to differentiate different .po files associated with the context.
599
600 >>> print(entry.path)
601 po/es.po
602diff --git a/lib/lp/translations/browser/tests/translationmessage-views.rst b/lib/lp/translations/browser/tests/translationmessage-views.rst
603index b3f15c9..4b6d758 100644
604--- a/lib/lp/translations/browser/tests/translationmessage-views.rst
605+++ b/lib/lp/translations/browser/tests/translationmessage-views.rst
606@@ -391,7 +391,7 @@ We are going to work with Evolution's evolution-2.2 template.
607 For alternative suggestions we need two languages, the one being
608 translated and other one providing suggestions. We will use Japanese
609 as the language to get suggestions for because it has less plural forms
610-than the other choosen language, Spanish.
611+than the other chosen language, Spanish.
612
613 # Japanese translation for this template doesn't exist yet in our
614 # database, we need to create it first.
615@@ -593,7 +593,7 @@ message).
616 >>> subview.allow_diverging
617 True
618
619-A shared translation is not explicitely shown, since the current one is
620+A shared translation is not explicitly shown, since the current one is
621 the shared translation.
622
623 >>> print(subview.shared_translationmessage)
624@@ -611,7 +611,7 @@ When looking at the entire POFile, diverging is not allowed.
625 >>> subview.allow_diverging
626 False
627
628-With a diverged translation, the shared translation is explicitely offered
629+With a diverged translation, the shared translation is explicitly offered
630 among one of the suggestions, and we are not offered to diverge the
631 translation further, since it's already diverged.
632
633diff --git a/lib/lp/translations/doc/browser-helpers.rst b/lib/lp/translations/doc/browser-helpers.rst
634index 5ba8c52..3943b05 100644
635--- a/lib/lp/translations/doc/browser-helpers.rst
636+++ b/lib/lp/translations/doc/browser-helpers.rst
637@@ -86,7 +86,7 @@ TranslationConstants.TAB_CHAR_ESCAPED which renders them as below:
638 >>> print(expand_rosetta_escapes("foo[tab]bar"))
639 foo<code>\[tab]</code>bar
640
641-Escaped ocurrences themselves get escaped.
642+Escaped occurrences themselves get escaped.
643
644 >>> print(expand_rosetta_escapes("foo\\[tab]bar"))
645 foo\<code>\[tab]</code>bar
646diff --git a/lib/lp/translations/doc/pofile.rst b/lib/lp/translations/doc/pofile.rst
647index 312ea2a..33e0faf 100644
648--- a/lib/lp/translations/doc/pofile.rst
649+++ b/lib/lp/translations/doc/pofile.rst
650@@ -334,7 +334,7 @@ one is older than the one we have in the IPOFile object. We are using
651 this method, for instance, to know if a new imported PO file should be
652 ignored because we already have a newer one.
653
654-This test is to be sure that the date comparation is working and that
655+This test is to be sure that the date comparison is working and that
656 two headers with the same date will always be set as newer, because lazy
657 translators forget to update that field from time to time and sometimes,
658 we were losing translations because we were ignoring those imports too.
659@@ -866,7 +866,7 @@ common file format in-memory to convert from one file format to another.
660
661 Getting the translation file data is just a matter of adapting the
662 object to the ITranslationFileData interface. Since there are multiple
663-adapters for differnt purposes, this adapter is named.
664+adapters for different purposes, this adapter is named.
665
666 >>> from zope.component import getAdapter
667 >>> translation_file_data = getAdapter(
668diff --git a/lib/lp/translations/doc/poimport-pofile-old-po-imported.rst b/lib/lp/translations/doc/poimport-pofile-old-po-imported.rst
669index 6474ebc..c798f5e 100644
670--- a/lib/lp/translations/doc/poimport-pofile-old-po-imported.rst
671+++ b/lib/lp/translations/doc/poimport-pofile-old-po-imported.rst
672@@ -9,7 +9,7 @@ have a chance to fix it.
673
674 We have to make an exception for files coming from upstream, though, because
675 the user may not be able to get the file fixed upstream or the file is older
676-because a user upload occured before the upstream file made it to Launchpad.
677+because a user upload occurred before the upstream file made it to Launchpad.
678 In either case we assume that the upstream file is OK and accept it for
679 upload.
680
681diff --git a/lib/lp/translations/doc/request_country.rst b/lib/lp/translations/doc/request_country.rst
682index 24b9386..43f0b09 100644
683--- a/lib/lp/translations/doc/request_country.rst
684+++ b/lib/lp/translations/doc/request_country.rst
685@@ -6,7 +6,7 @@ Adapting a request to a country allows you to see where the request came from.
686
687 Here's a dummy request. Zope adds the REMOTE_ADDR CGI environment variable
688 for us. Upstream proxy servers (and tinkering users!) may also add
689-X-Forwarded-For: headers. The X-Forwarded-For: header takes precidence
690+X-Forwarded-For: headers. The X-Forwarded-For: header takes precedence
691 if it is set.
692
693 >>> from lp.services.webapp.servers import LaunchpadTestRequest
694diff --git a/lib/lp/translations/doc/translationbranchapprover.rst b/lib/lp/translations/doc/translationbranchapprover.rst
695index 774b1ab..7ce2405 100644
696--- a/lib/lp/translations/doc/translationbranchapprover.rst
697+++ b/lib/lp/translations/doc/translationbranchapprover.rst
698@@ -21,8 +21,8 @@ domain which in turn is derived from the path itself.
699 The name is used for matching instead of the translation domain because the
700 domain may change when the source tree is updated to a new version as
701 the developers may choose to include version information in the domain. This
702-makes it possible to intall multiple versions of the same software on a
703-system without having mo files clash. Evolution is a noteable example of
704+makes it possible to install multiple versions of the same software on a
705+system without having mo files clash. Evolution is a notable example of
706 doing this.
707
708 To be able to assess the context of a template file it should approve, the
709@@ -39,10 +39,10 @@ the other hand it also knows about files that have no matching object. This
710 will lead to one of four situations.
711
712 1. All files are matched to POTemplate objects and vice versa so that no
713- file or oject is left unmatched. All subsequent approval requests can
714+ file or object is left unmatched. All subsequent approval requests can
715 safely be approved.
716 2. All objects are matched to files but at least one file is left unmatched.
717- The matched files can safly be approved wereas the unmatched file
718+ The matched files can safely be approved whereas the unmatched file
719 triggers the creation of a new POTemplate object. If multiple files are
720 unmatched, a POTemplate will be created for each.
721 3. Some files *and* some objects are left unmatched. Only the matched files
722@@ -73,7 +73,7 @@ the import queue.
723 ... )
724
725 The job initializes the approver with the list of template files in the tree,
726-which has only one entry. This is situtation 2 (see above).
727+which has only one entry. This is situation 2 (see above).
728
729 >>> approver = TranslationBranchApprover(
730 ... ["foo.pot"], productseries=series
731@@ -106,7 +106,7 @@ detects this new file on its next run and places it into the import queue
732 ... )
733
734 The job does know about all the template files in the tree and so it
735-initializes the approver accordingly. This is situtation 2 again.
736+initializes the approver accordingly. This is situation 2 again.
737
738 >>> approver = TranslationBranchApprover(
739 ... ["foo.pot", "bar.pot"], productseries=series
740diff --git a/lib/lp/translations/stories/distroseries/xx-distroseries-translations.rst b/lib/lp/translations/stories/distroseries/xx-distroseries-translations.rst
741index 6bd0576..cae8f96 100644
742--- a/lib/lp/translations/stories/distroseries/xx-distroseries-translations.rst
743+++ b/lib/lp/translations/stories/distroseries/xx-distroseries-translations.rst
744@@ -2,7 +2,7 @@ Distribution series translations
745 ================================
746
747 This page shows a list of PO templates contained within all source
748-packages in a particular distibution series.
749+packages in a particular distribution series.
750
751 In this case, we're asking for the translation overview for Hoary.
752
753diff --git a/lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.rst b/lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.rst
754index a7de02f..e1e4ab5 100644
755--- a/lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.rst
756+++ b/lib/lp/translations/stories/productseries/xx-productseries-translations-bzr-request.rst
757@@ -7,7 +7,7 @@ found on the "Settings" page.
758
759 Getting there
760 -------------
761-The maintainer of a product sees a menu option called "Reqeust Bazaar
762+The maintainer of a product sees a menu option called "Request Bazaar
763 import" that leads to the page to request such imports.
764
765 >>> browser.addHeader("Authorization", "Basic test@canonical.com:test")
766diff --git a/lib/lp/translations/stories/productseries/xx-productseries-translations-settings.rst b/lib/lp/translations/stories/productseries/xx-productseries-translations-settings.rst
767index 64bca16..c82baa8 100644
768--- a/lib/lp/translations/stories/productseries/xx-productseries-translations-settings.rst
769+++ b/lib/lp/translations/stories/productseries/xx-productseries-translations-settings.rst
770@@ -92,7 +92,7 @@ The user is automatically redirected to the page they came from.
771 >>> print_feedback_messages(browser.contents)
772 The settings have been updated.
773
774-If they look at the synchonization settings page again, they see that
775+If they look at the synchronization settings page again, they see that
776 the changes have been saved.
777
778 >>> browser.getLink("Set up branch synchronization").click()
779diff --git a/lib/lp/translations/stories/standalone/xx-pofile-translate.rst b/lib/lp/translations/stories/standalone/xx-pofile-translate.rst
780index 87e3a30..dd4f40c 100644
781--- a/lib/lp/translations/stories/standalone/xx-pofile-translate.rst
782+++ b/lib/lp/translations/stories/standalone/xx-pofile-translate.rst
783@@ -242,7 +242,7 @@ Missing plural forms information
784
785 If the plural forms are not known for a language, users can not add
786 new translations and are asked to help Launchpad Translations by providing
787-the plural form informations.
788+the plural form information.
789
790 This notice is display when doing batch translations or translating a
791 single message.
792diff --git a/lib/lp/translations/stories/standalone/xx-potemplate-admin.rst b/lib/lp/translations/stories/standalone/xx-potemplate-admin.rst
793index 484325d..4cea87d 100644
794--- a/lib/lp/translations/stories/standalone/xx-potemplate-admin.rst
795+++ b/lib/lp/translations/stories/standalone/xx-potemplate-admin.rst
796@@ -177,7 +177,7 @@ Administrators can disable and then make changes to a disabled template.
797 >>> print(admin_browser.url)
798 http://translations.launchpad.test/evolution/trunk/+pots/evolution-renamed
799
800-Now we will reenable the template.
801+Now we will re-enable the template.
802
803 >>> admin_browser.open(
804 ... "http://translations.launchpad.test/evolution/trunk/+pots/"
805diff --git a/lib/lp/translations/stories/standalone/xx-potemplate-edit.rst b/lib/lp/translations/stories/standalone/xx-potemplate-edit.rst
806index 86dba4f..b9e0120 100644
807--- a/lib/lp/translations/stories/standalone/xx-potemplate-edit.rst
808+++ b/lib/lp/translations/stories/standalone/xx-potemplate-edit.rst
809@@ -5,7 +5,7 @@ The POTemplate edit page allows editing a subset of potemplate
810 attributes. Only product owners, Rosetta Experts or a Launchpad admin
811 are able to use it.
812
813-An unpriviledged user cannot reach this page.
814+An unprivileged user cannot reach this page.
815
816 >>> browser = setupBrowser(auth="Basic no-priv@canonical.com:test")
817 >>> browser.open(
818@@ -127,7 +127,7 @@ The visible fields can be changed and saved.
819 >>> print(browser.url)
820 http://translations.launchpad.test/evolution/trunk/+pots/evo
821
822-The changed values will be stored and visible by accesing again the edit
823+The changed values will be stored and visible by accessing again the edit
824 page.
825
826 >>> browser.open(
827@@ -215,7 +215,7 @@ The edit page can be access from the templates list.
828 >>> admin_browser.url == referrer
829 True
830
831-If you are accesing the edit page using a bookmark (in this case there
832+If you are accessing the edit page using a bookmark (in this case there
833 was no previous page in the navigation), you will be directed to the
834 template index page.
835
836diff --git a/lib/lp/translations/stories/standalone/xx-potemplate-index.rst b/lib/lp/translations/stories/standalone/xx-potemplate-index.rst
837index 70e33fb..1f31964 100644
838--- a/lib/lp/translations/stories/standalone/xx-potemplate-index.rst
839+++ b/lib/lp/translations/stories/standalone/xx-potemplate-index.rst
840@@ -22,7 +22,7 @@ evolution-2.2 POTemplate page.
841 Template ...evolution-2.2... : Hoary (5.04) :
842 Translations : evolution package : Ubuntu
843
844-The owner of the template is diplayed.
845+The owner of the template is displayed.
846
847 >>> owner_display = find_tag_by_id(
848 ... anon_browser.contents, "potemplate-owner"
849diff --git a/lib/lp/translations/stories/translationgroups/xx-translationgroups.rst b/lib/lp/translations/stories/translationgroups/xx-translationgroups.rst
850index a2e7dc6..17cb339 100644
851--- a/lib/lp/translations/stories/translationgroups/xx-translationgroups.rst
852+++ b/lib/lp/translations/stories/translationgroups/xx-translationgroups.rst
853@@ -559,7 +559,7 @@ grounds: owning the group, being a Rosetta expert, or being a Launchpad
854 administrator.
855
856 Jordi Mallach is a Rosetta administrator ("expert"). He does not own
857-polyglot nor is he a Launchpad adminstrator. That is enough to allow
858+polyglot nor is he a Launchpad administrator. That is enough to allow
859 him to appoint a translator.
860
861 >>> browser.addHeader("Authorization", "Basic jordi@ubuntu.com:test")
862@@ -1195,7 +1195,7 @@ an error message back.
863 ...
864 Ignored your upload because you didn't select a file to upload.
865
866-Uploading files with an unkown file format notifies the user that it
867+Uploading files with an unknown file format notifies the user that it
868 cannot be handled.
869
870 >>> from io import BytesIO
871diff --git a/lib/lp/translations/utilities/doc/gettext_po_exporter.rst b/lib/lp/translations/utilities/doc/gettext_po_exporter.rst
872index 086070b..9cc3bac 100644
873--- a/lib/lp/translations/utilities/doc/gettext_po_exporter.rst
874+++ b/lib/lp/translations/utilities/doc/gettext_po_exporter.rst
875@@ -2,7 +2,7 @@ gettext_po_exporter
876 ===================
877
878 To export translation files from Rosetta, the data must be displayed in po
879-file fomrat which is a text file format.
880+file format which is a text file format.
881
882 >>> from lp.translations.interfaces.translations import (
883 ... TranslationConstants,
884diff --git a/lib/lp/translations/utilities/doc/templatenames.rst b/lib/lp/translations/utilities/doc/templatenames.rst
885index 4063f5b..d49ba65 100644
886--- a/lib/lp/translations/utilities/doc/templatenames.rst
887+++ b/lib/lp/translations/utilities/doc/templatenames.rst
888@@ -5,7 +5,7 @@ Template names can be derived from template paths. The name usually matches
889 the translation domain but translation domains may contain characters that
890 template names may not, most notably capital characters and underscores.
891
892-The template utitlity module provides functions for these conversions. They
893+The template utility module provides functions for these conversions. They
894 also know how to detect xpi templates and generic template file names and
895 derive translation domains from directory names, if possible.
896

Subscribers

People subscribed via source and target branches

to status/vote changes: