launchpad-reviewers team mailing list archive
-
launchpad-reviewers team
-
Mailing list archive
-
Message #28844
[Merge] ~cjwatson/launchpad:codespell-2 into launchpad:master
Colin Watson has proposed merging ~cjwatson/launchpad:codespell-2 into launchpad:master.
Commit message:
Fix spelling errors in lp.answers and lp.app
Requested reviews:
Launchpad code reviewers (launchpad-reviewers)
For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/427087
Found by codespell.
--
Your team Launchpad code reviewers is requested to review the proposed merge of ~cjwatson/launchpad:codespell-2 into launchpad:master.
diff --git a/lib/lp/answers/browser/question.py b/lib/lp/answers/browser/question.py
index 32d63dc..12a8fdb 100644
--- a/lib/lp/answers/browser/question.py
+++ b/lib/lp/answers/browser/question.py
@@ -224,7 +224,7 @@ class QuestionExtrasMenu(ApplicationMenu, QuestionLinksMixin):
class QuestionSetContextMenu(ContextMenu):
- """Context menu of actions that can be preformed upon a QuestionSet."""
+ """Context menu of actions that can be performed upon a QuestionSet."""
usedfor = IQuestionSet
links = ["findproduct", "finddistro"]
@@ -1116,7 +1116,7 @@ class QuestionWorkflowView(LaunchpadFormView, LinkFAQMixin):
condition=canGiveInfo,
)
def giveinfo_action(self, action, data):
- """Give additional informatin on the request."""
+ """Give additional information on the request."""
self.context.giveInfo(data["message"])
self._addNotificationAndHandlePossibleSubscription(
_("Thanks for adding more information to your question."), data
@@ -1164,7 +1164,7 @@ class QuestionWorkflowView(LaunchpadFormView, LinkFAQMixin):
@action(_("I Still Need an Answer"), name="reopen", condition=canReopen)
def reopen_action(self, action, data):
- """State that the problem is still occuring and provide new
+ """State that the problem is still occurring and provide new
information about it."""
self.context.reopen(data["message"])
self._addNotificationAndHandlePossibleSubscription(
diff --git a/lib/lp/answers/browser/questiontarget.py b/lib/lp/answers/browser/questiontarget.py
index 488c860..4e6f929 100644
--- a/lib/lp/answers/browser/questiontarget.py
+++ b/lib/lp/answers/browser/questiontarget.py
@@ -261,7 +261,7 @@ class SearchQuestionsView(UserSupportLanguagesMixin, LaunchpadFormView):
"""Create a field to choose a set of languages.
Create a specialized vocabulary based on the user's preferred
- languages. If the user is anonymous, the languages submited in the
+ languages. If the user is anonymous, the languages submitted in the
browser's request will be used.
"""
languages = set(self.user_support_languages)
@@ -483,7 +483,7 @@ class SearchQuestionsView(UserSupportLanguagesMixin, LaunchpadFormView):
"""Return the questions corresponding to the search."""
if self.search_params is None:
# Search button wasn't clicked, use the default filter.
- # Copy it so that it doesn't get mutated accidently.
+ # Copy it so that it doesn't get mutated accidentally.
self.search_params = dict(self.getDefaultFilter())
# The search parameters used is defined by the union of the fields
diff --git a/lib/lp/answers/browser/tests/question-subscribe_me.rst b/lib/lp/answers/browser/tests/question-subscribe_me.rst
index 686283b..6087177 100644
--- a/lib/lp/answers/browser/tests/question-subscribe_me.rst
+++ b/lib/lp/answers/browser/tests/question-subscribe_me.rst
@@ -54,7 +54,7 @@ Subscription is possible when providing an answer:
True
>>> firefox_question.unsubscribe(foo_bar, foo_bar)
-As when confirming an answer (altough this is probably not that common):
+As when confirming an answer (although this is probably not that common):
>>> login('test@xxxxxxxxxxxxx')
>>> workflow_harness.submit('confirm', dict(answer_id=-1, **form_data))
diff --git a/lib/lp/answers/doc/faqcollection.rst b/lib/lp/answers/doc/faqcollection.rst
index 57e1e4c..3314950 100644
--- a/lib/lp/answers/doc/faqcollection.rst
+++ b/lib/lp/answers/doc/faqcollection.rst
@@ -122,7 +122,7 @@ When no criteria are given, all the FAQs in the collection are returned.
search_text
...........
-The first criteria is search_text. It will select FAQs matching the
+The first criterion is search_text. It will select FAQs matching the
keywords specified. Keywords are looked for in the title, content and
keywords field of the FAQ.
@@ -140,7 +140,7 @@ title, the second because it appears in the keywords.
owner
.....
-The other filtering criteria is 'owner'. It will select only FAQs that
+The other filtering criterion is 'owner'. It will select only FAQs that
were created by the specified user.
>>> for faq in collection.searchFAQs(owner=no_priv):
@@ -155,9 +155,8 @@ Again, the default sort order is most recent first.
Combination
...........
-You can combine multiple criterias. Only FAQs matching all the criterias
-
- will be returned.
+You can combine multiple criteria. Only FAQs matching all the criteria
+will be returned.
>>> for faq in collection.searchFAQs(
... search_text=u'install', owner=no_priv):
diff --git a/lib/lp/answers/doc/questiontarget.rst b/lib/lp/answers/doc/questiontarget.rst
index dcfe5de..f5d819c 100644
--- a/lib/lp/answers/doc/questiontarget.rst
+++ b/lib/lp/answers/doc/questiontarget.rst
@@ -545,7 +545,7 @@ copied to the question.
... owner=sample_person)
>>> target_bug = target.createBug(bug_params)
>>> bug_message = target_bug.newMessage(
- ... owner=sample_person, subject="Opps, my mistake",
+ ... owner=sample_person, subject="Oops, my mistake",
... content="This is really a question.")
>>> target_question = target.createQuestionFromBug(target_bug)
diff --git a/lib/lp/answers/doc/workflow.rst b/lib/lp/answers/doc/workflow.rst
index e6942fd..7763dcd 100644
--- a/lib/lp/answers/doc/workflow.rst
+++ b/lib/lp/answers/doc/workflow.rst
@@ -675,7 +675,7 @@ comes back to say that it doesn't, in fact, work.
... "I've installed BootX and the installer now boot properly.",
... answer=answer_message, datecreated=now_plus_two_hours)
>>> reopen_message = question.reopen(
- ... "Actually, altough the installer boots properly. I'm not able "
+ ... "Actually, although the installer boots properly. I'm not able "
... "to pass beyond the partitioning.",
... datecreated=now_plus_three_hours)
Received ObjectCreatedEvent on QuestionReopening
diff --git a/lib/lp/answers/interfaces/questiontarget.py b/lib/lp/answers/interfaces/questiontarget.py
index c1767ce..54df7d5 100644
--- a/lib/lp/answers/interfaces/questiontarget.py
+++ b/lib/lp/answers/interfaces/questiontarget.py
@@ -110,7 +110,7 @@ class IQuestionTargetPublic(ISearchableByQuestionOwner):
direct_answer_contacts = List(
title=_("Direct Answer Contacts"),
description=_(
- "IPersons that registered as answer contacts explicitely on "
+ "IPersons that registered as answer contacts explicitly on "
"this target. (answer_contacts may include answer contacts "
"inherited from other context.)"
),
diff --git a/lib/lp/answers/scripts/questionexpiration.py b/lib/lp/answers/scripts/questionexpiration.py
index f50ee43..32b3c1c 100644
--- a/lib/lp/answers/scripts/questionexpiration.py
+++ b/lib/lp/answers/scripts/questionexpiration.py
@@ -15,7 +15,7 @@ from lp.services.webapp.interfaces import IPlacelessAuthUtility
class QuestionJanitor:
- """Object that takes the responsability of expiring questions
+ """Object that takes the responsibility of expiring questions
without activity in a configurable period.
"""
diff --git a/lib/lp/answers/tests/emailinterface.rst b/lib/lp/answers/tests/emailinterface.rst
index 1727519..cab2739 100644
--- a/lib/lp/answers/tests/emailinterface.rst
+++ b/lib/lp/answers/tests/emailinterface.rst
@@ -134,7 +134,7 @@ Message From the Question Owner
-------------------------------
When the owner sends a message on the question, the message is
-interpretated in three different manners based on the current question
+interpreted in three different manners based on the current question
state.
Open and Needs Information
diff --git a/lib/lp/answers/tests/test_question_notifications.py b/lib/lp/answers/tests/test_question_notifications.py
index 23851e6..ac636ec 100644
--- a/lib/lp/answers/tests/test_question_notifications.py
+++ b/lib/lp/answers/tests/test_question_notifications.py
@@ -185,7 +185,7 @@ class QuestionUnsupportedLanguageNotificationTestCase(TestCase):
class FakeQuestionNotification(QuestionNotification):
- """A subclass to exercise question notifcations."""
+ """A subclass to exercise question notifications."""
recipient_set = QuestionRecipientSet.ASKER_SUBSCRIBER
diff --git a/lib/lp/answers/tests/test_vocabulary.py b/lib/lp/answers/tests/test_vocabulary.py
index 031af8f..3011acb 100644
--- a/lib/lp/answers/tests/test_vocabulary.py
+++ b/lib/lp/answers/tests/test_vocabulary.py
@@ -53,7 +53,7 @@ class UsesAnswersDistributionVocabularyTestCase(TestCaseWithFactory):
def test_contains_context_distro(self):
# The vocabulary contains the context distro even it it does not
# use Launchpad to track answers. The distro may have tracked answers
- # in the past so it is a legitimate choise for historic data.
+ # in the past so it is a legitimate choice for historic data.
distro_less_answers = self.factory.makeDistribution()
vocabulary = UsesAnswersDistributionVocabulary(distro_less_answers)
self.assertFalse(distro_less_answers.official_answers)
diff --git a/lib/lp/app/browser/launchpad.py b/lib/lp/app/browser/launchpad.py
index b6f178e..d967aea 100644
--- a/lib/lp/app/browser/launchpad.py
+++ b/lib/lp/app/browser/launchpad.py
@@ -455,7 +455,7 @@ class ExceptionHierarchy(Hierarchy):
@implementer(IBrowserPublisher, ITraversable)
class Macro:
- """Keeps templates that are registered as pages from being URL accessable.
+ """Keeps templates that are registered as pages from being URL accessible.
The standard pattern in LP is to register templates that contain macros as
views on all objects:
@@ -483,7 +483,7 @@ class Macro:
templates in this way.
This class was created in order to prevent macro templates from being
- accessable via URL without having to make nontrivial changes to the many,
+ accessible via URL without having to make nontrivial changes to the many,
many templates that use macros. To use the class add a "class" parameter
to macro template registrations:
@@ -1083,7 +1083,7 @@ class SoftTimeoutView(LaunchpadView):
time.sleep(soft_timeout / 1000.0)
time_to_generate_page = (time.time() - start_time) * 1000
- # In case we didn't sleep enogh time, sleep a while longer to
+ # In case we didn't sleep enough time, sleep a while longer to
# pass the soft timeout threshold.
while time_to_generate_page < soft_timeout:
time.sleep(0.1)
diff --git a/lib/lp/app/browser/stringformatter.py b/lib/lp/app/browser/stringformatter.py
index dd75bbe..79913d5 100644
--- a/lib/lp/app/browser/stringformatter.py
+++ b/lib/lp/app/browser/stringformatter.py
@@ -559,13 +559,13 @@ class FormattersAPI:
# appear at the end of the URI since they may be incidental in the
# flow of the text.
#
- # apport has at one time produced query strings containing sqaure
+ # apport has at one time produced query strings containing square
# braces (that are not percent-encoded). In RFC 2986 they seem to be
# allowed by section 2.2 "Reserved Characters", yet section 3.4
# "Query" appears to provide a strict definition of the query string
# that would forbid square braces. Either way, links with
# non-percent-encoded square braces are being used on Launchpad so
- # it's probably best to accomodate them.
+ # it's probably best to accommodate them.
# Match urls or bugs or oopses.
_re_linkify = re.compile(
@@ -934,7 +934,7 @@ class FormattersAPI:
# Only linkify if person exists and does not want to hide
# their email addresses.
if person is not None and not person.hide_email_addresses:
- # Circular dependancies now. Should be resolved by moving the
+ # Circular dependencies now. Should be resolved by moving the
# object image display api.
from lp.app.browser.tales import ObjectImageDisplayAPI
diff --git a/lib/lp/app/browser/tales.py b/lib/lp/app/browser/tales.py
index fe62ec3..bac5777 100644
--- a/lib/lp/app/browser/tales.py
+++ b/lib/lp/app/browser/tales.py
@@ -1462,7 +1462,7 @@ class CustomizableFormatter(ObjectFormatterAPI):
3. if there is an icon for this object type, image:icon is
implemented and appropriate.
- For greater control over the summary, overrride
+ For greater control over the summary, override
_make_link_summary.
If a different permission is required, override _link_permission.
@@ -2201,7 +2201,7 @@ class BugTrackerFormatterAPI(ObjectFormatterAPI):
"""Return an HTML link to the external bugtracker.
If the user is not logged-in, the title of the bug tracker is
- modified to obfuscate all email addresses. Additonally, if the
+ modified to obfuscate all email addresses. Additionally, if the
URL is a mailto: address then no link is returned, just the
title text.
"""
diff --git a/lib/lp/app/browser/tests/test_macro_view.py b/lib/lp/app/browser/tests/test_macro_view.py
index dc97cbe..765b646 100644
--- a/lib/lp/app/browser/tests/test_macro_view.py
+++ b/lib/lp/app/browser/tests/test_macro_view.py
@@ -11,12 +11,12 @@ from lp.testing.publication import test_traverse
class TestMacroNontraversability(TestCaseWithFactory):
- """Macros should not be URL accessable (see bug 162868)."""
+ """Macros should not be URL accessible (see bug 162868)."""
layer = DatabaseFunctionalLayer
# Names of some macros that are tested to ensure that they're not
- # accessable via URL. This is not an exhaustive list.
+ # accessible via URL. This is not an exhaustive list.
macro_names = (
"feed-entry-atom",
"+base-layout-macros",
@@ -63,5 +63,5 @@ class TestMacroNontraversability(TestCaseWithFactory):
for name in self.macro_names:
self.assertTrue(
self.is_not_found("http://launchpad.test/" + name),
- "macro name %r should not be URL accessable" % name,
+ "macro name %r should not be URL accessible" % name,
)
diff --git a/lib/lp/app/browser/tests/test_vocabulary.py b/lib/lp/app/browser/tests/test_vocabulary.py
index 05e5fee..7925f86 100644
--- a/lib/lp/app/browser/tests/test_vocabulary.py
+++ b/lib/lp/app/browser/tests/test_vocabulary.py
@@ -112,7 +112,7 @@ class PersonPickerEntrySourceAdapterTestCase(TestCaseWithFactory):
)
def test_PersonPickerEntrySourceAdapter_no_email_logged_in(self):
- # Teams without email address have no desriptions.
+ # Teams without email address have no descriptions.
team = self.factory.makeTeam()
observer = self.factory.makePerson()
login_person(observer)
@@ -241,7 +241,7 @@ class TestDistributionSourcePackagePickerEntrySourceAdapter(
self.assertEqual("fnord", self.getPickerEntry(dsp).description)
def test_dsp_alt_title_is_none(self):
- # DSP titles are contructed from the distro and package Launchapd Ids,
+ # DSP titles are constructed from the distro and package Launchpad Ids,
# alt_titles are redundant because they are also Launchpad Ids.
distro = self.factory.makeDistribution(name="fnord")
series = self.factory.makeDistroSeries(
diff --git a/lib/lp/app/browser/vocabulary.py b/lib/lp/app/browser/vocabulary.py
index 6d11b8a..126881c 100644
--- a/lib/lp/app/browser/vocabulary.py
+++ b/lib/lp/app/browser/vocabulary.py
@@ -456,7 +456,7 @@ class HugeVocabularyJSONView:
# We need to collate what IPickerEntrySource adapters are required for
# the items in the current batch. We expect that the batch will be
- # homogenous and so only one adapter instance is required, but we
+ # homogeneous and so only one adapter instance is required, but we
# allow for the case where the batch may contain disparate entries
# requiring different adapter implementations.
diff --git a/lib/lp/app/doc/badges.rst b/lib/lp/app/doc/badges.rst
index 3e7dfcc..dc2dee4 100644
--- a/lib/lp/app/doc/badges.rst
+++ b/lib/lp/app/doc/badges.rst
@@ -132,7 +132,7 @@ badger class needs to implement the method `getBadge`.
bug / Bug-Title
fish / Fish-Title
-If the class does not implement the approprate method you get a
+If the class does not implement the appropriate method you get a
NotImplementedError.
>>> SimpleBadger.badges.append("blueprint")
diff --git a/lib/lp/app/doc/launchpadview.rst b/lib/lp/app/doc/launchpadview.rst
index 2951085..005ae68 100644
--- a/lib/lp/app/doc/launchpadview.rst
+++ b/lib/lp/app/doc/launchpadview.rst
@@ -9,7 +9,7 @@ This is the base-class we should use for all View classes in Launchpad.
>>> class MyView(LaunchpadView):
...
... def initialize(self):
- ... print("Initalizing...")
+ ... print("Initializing...")
...
... def render(self):
... return "rendered content"
@@ -29,7 +29,7 @@ Anonymous logged in, so view.account and view.user are None.
None
>>> result = view()
- Initalizing...
+ Initializing...
>>> print(result)
rendered content
diff --git a/lib/lp/app/javascript/activator/tests/test_activator.js b/lib/lp/app/javascript/activator/tests/test_activator.js
index e421952..2add552 100644
--- a/lib/lp/app/javascript/activator/tests/test_activator.js
+++ b/lib/lp/app/javascript/activator/tests/test_activator.js
@@ -112,7 +112,7 @@ tests.suite.add(new Y.Test.Case({
Assert.isFalse(
this.activator.get('contentBox').hasClass(
'yui3-activator-success'),
- 'The widget is not setup propertly.');
+ 'The widget is not set up properly.');
this.activator.renderSuccess(data, message);
@@ -144,7 +144,7 @@ tests.suite.add(new Y.Test.Case({
Assert.isFalse(
this.activator.get('contentBox').hasClass(
'yui3-activator-processing'),
- 'The widget is not setup propertly.');
+ 'The widget is not set up properly.');
this.activator.renderProcessing(message);
@@ -172,7 +172,7 @@ tests.suite.add(new Y.Test.Case({
Assert.isFalse(
this.activator.get('contentBox').hasClass(
'yui3-activator-cancellation'),
- 'The widget is not setup propertly.');
+ 'The widget is not set up properly.');
this.activator.renderCancellation(message);
@@ -198,7 +198,7 @@ tests.suite.add(new Y.Test.Case({
Assert.isFalse(
this.activator.get('contentBox').hasClass(
'yui3-activator-failure'),
- 'The widget is not setup propertly.');
+ 'The widget is not set up properly.');
this.activator.renderFailure(message);
diff --git a/lib/lp/app/javascript/ajax_log.js b/lib/lp/app/javascript/ajax_log.js
index 83bb5bf..ecdc9e3 100644
--- a/lib/lp/app/javascript/ajax_log.js
+++ b/lib/lp/app/javascript/ajax_log.js
@@ -101,7 +101,7 @@ YUI.add('lp.ajax_log', function (Y) {
/**
* Basic initializer to build the events for the instance.
*
- * @method intializer
+ * @method initializer
* @param {Object} cfg
*
*/
diff --git a/lib/lp/app/javascript/client.js b/lib/lp/app/javascript/client.js
index 7b77759..5a1ecce 100644
--- a/lib/lp/app/javascript/client.js
+++ b/lib/lp/app/javascript/client.js
@@ -582,7 +582,7 @@ YUI.add('lp.client', function(Y) {
module.Root.prototype = new module.Resource();
module.Collection = function(client, representation, uri) {
- /* A grouped collection of objets from the Launchpad web service. */
+ /* A grouped collection of objects from the Launchpad web service. */
var index, entry;
this.init(client, representation, uri);
for (index = 0 ; index < this.entries.length ; index++) {
@@ -815,7 +815,7 @@ YUI.add('lp.client', function(Y) {
if (representation.total_size !== undefined
|| representation.total_size_link !== undefined) {
// It's a list. Treat it as a collection;
- // it should be slicable.
+ // it should be sliceable.
return new module.Collection(this, representation, uri);
} else if (Y.Lang.isObject(representation)) {
// It's an Array or mapping. Recurse into it.
diff --git a/lib/lp/app/javascript/formoverlay/tests/test_formoverlay.js b/lib/lp/app/javascript/formoverlay/tests/test_formoverlay.js
index 2f18a28..1e30c85 100644
--- a/lib/lp/app/javascript/formoverlay/tests/test_formoverlay.js
+++ b/lib/lp/app/javascript/formoverlay/tests/test_formoverlay.js
@@ -153,7 +153,7 @@ YUI.add('lp.formoverlay.test', function (Y) {
focused = true;
});
this.form_overlay._focusChild();
- Assert.isTrue(focused, "The visble input was not focused.");
+ Assert.isTrue(focused, "The visible input was not focused.");
},
test_form_submit_in_body_content: function() {
diff --git a/lib/lp/app/javascript/formwidgets/tests/test_resizing_textarea.js b/lib/lp/app/javascript/formwidgets/tests/test_resizing_textarea.js
index 9097dd6..0076290 100644
--- a/lib/lp/app/javascript/formwidgets/tests/test_resizing_textarea.js
+++ b/lib/lp/app/javascript/formwidgets/tests/test_resizing_textarea.js
@@ -36,7 +36,7 @@ YUI.add('lp.resizing_textarea.test', function (Y) {
/**
* In order to update the content we need to change the text, but also to
* fire the event that the content has changed since we're modifying it
- * programatically.
+ * programmatically.
*
*/
function update_content(target, val) {
diff --git a/lib/lp/app/javascript/gallery-accordion/gallery-accordion.js b/lib/lp/app/javascript/gallery-accordion/gallery-accordion.js
index 91d9776..6c2aca8 100644
--- a/lib/lp/app/javascript/gallery-accordion/gallery-accordion.js
+++ b/lib/lp/app/javascript/gallery-accordion/gallery-accordion.js
@@ -317,7 +317,7 @@ Y.Accordion = Y.Base.create( AccName, Y.Widget, [], {
/**
- * Removes all handles, attched to given item
+ * Removes all handles, attached to given item
*
* @method _removeItemHandles
* @protected
@@ -529,7 +529,7 @@ Y.Accordion = Y.Base.create( AccName, Y.Widget, [], {
*
* @method adjustStretchItems
* @protected
- * @return {Number} The calculated height per strech item
+ * @return {Number} The calculated height per stretch item
*/
_adjustStretchItems: function(){
var items = this.get( ITEMS ), heightPerStretchItem, forExpanding;
@@ -566,11 +566,11 @@ Y.Accordion = Y.Base.create( AccName, Y.Widget, [], {
},
/**
- * Calculates the height per strech item.
+ * Calculates the height per stretch item.
*
* @method _getHeightPerStretchItem
* @protected
- * @return {Number} The calculated height per strech item
+ * @return {Number} The calculated height per stretch item
*/
_getHeightPerStretchItem: function(){
var height, items, stretchCounter = 0;
@@ -1632,7 +1632,7 @@ Y.Accordion = Y.Base.create( AccName, Y.Widget, [], {
/**
- * Overwrites Y.WidgetStdMod fuction in order to resolve Widget 3.1 issue:<br>
+ * Overwrites Y.WidgetStdMod function in order to resolve Widget 3.1 issue:<br>
* If CONTENT_TEMPLATE is null, in renderUI the result of the following code:
* <code>this.getStdModNode( Y.WidgetStdMod.HEADER );</code> is null.
* The same is with <code>this.getStdModNode( Y.WidgetStdMod.BODY );</code>.
@@ -2454,7 +2454,7 @@ Y.AccordionItem = Y.Base.create( AccItemName, Y.Widget, [Y.WidgetStdMod], {
/**
- * Overwrites Y.WidgetStdMod fuction in order to resolve Widget 3.1 issue:<br>
+ * Overwrites Y.WidgetStdMod function in order to resolve Widget 3.1 issue:<br>
* If CONTENT_TEMPLATE is null, in renderUI the result of the following code:
* <code>this.getStdModNode( Y.WidgetStdMod.HEADER );</code> is null.
* The same is with <code>this.getStdModNode( Y.WidgetStdMod.BODY );</code>.
@@ -2666,7 +2666,7 @@ Y.AccordionItem = Y.Base.create( AccItemName, Y.Widget, [Y.WidgetStdMod], {
/**
- * @description Get/Set the animaton specific settings. By default there are no any settings.
+ * @description Get/Set the animation specific settings. By default there are no settings.
* If set, they will overwrite Accordion's animation settings
*
* @attribute animation
diff --git a/lib/lp/app/javascript/inlineedit/editor.js b/lib/lp/app/javascript/inlineedit/editor.js
index 12ce56c..fcc260d 100644
--- a/lib/lp/app/javascript/inlineedit/editor.js
+++ b/lib/lp/app/javascript/inlineedit/editor.js
@@ -378,7 +378,7 @@ Y.extend(InlineEditor, Y.Widget, {
/**
* Reset the widget's current input to the control's
- * intial value.
+ * initial value.
*
* @method reset
*/
@@ -810,7 +810,7 @@ Y.extend(InlineEditor, Y.Widget, {
// we don't handle size updates, but the ResizingTextarea does.
// Normally, an event is caught on the change of the input, but if
- // we programatically set the input, it won't always catch
+ // we programmatically set the input, it won't always catch
this.get(INPUT_EL).resizing_textarea._run_change(value);
},
diff --git a/lib/lp/app/javascript/inlineedit/tests/test_inline_edit.js b/lib/lp/app/javascript/inlineedit/tests/test_inline_edit.js
index fd9bb85..41b5988 100644
--- a/lib/lp/app/javascript/inlineedit/tests/test_inline_edit.js
+++ b/lib/lp/app/javascript/inlineedit/tests/test_inline_edit.js
@@ -202,7 +202,7 @@ YUI.add('lp.inline_edit.test', function (Y) {
ed.get("in_error"),
"The editor's 'in_error' attribute should not be set.");
- var msg = "An error has occured.";
+ var msg = "An error has occurred.";
ed.showError(msg);
Assert.areEqual(
@@ -242,7 +242,7 @@ YUI.add('lp.inline_edit.test', function (Y) {
error_shown = true;
};
- var msg = "An error has occured.";
+ var msg = "An error has occurred.";
this.editor.showError(msg);
Y.Assert.isTrue(error_shown);
diff --git a/lib/lp/app/javascript/listing_navigator.js b/lib/lp/app/javascript/listing_navigator.js
index 6262f28..05a8cf6 100644
--- a/lib/lp/app/javascript/listing_navigator.js
+++ b/lib/lp/app/javascript/listing_navigator.js
@@ -247,7 +247,7 @@ Y.extend(module.ListingNavigator, Y.Base, {
* of one of the batches and store it.
*
* A batch has two major aliases because "forwards" may be true or false.
- * Either the ajacent batch will have an alias for the current batch, or
+ * Either the adjacent batch will have an alias for the current batch, or
* the current batch will have an alias for the adjacent batch.
*/
dealias_batches: function(batch) {
diff --git a/lib/lp/app/javascript/mustache.js b/lib/lp/app/javascript/mustache.js
index a15dce3..03c3f6b 100644
--- a/lib/lp/app/javascript/mustache.js
+++ b/lib/lp/app/javascript/mustache.js
@@ -111,7 +111,7 @@ YUI.add('lp.mustache', function(Y) {
},
/*
- Tries to find a partial in the curent scope and render it
+ Tries to find a partial in the current scope and render it
*/
render_partial: function(name, context, partials) {
name = this.trim(name);
@@ -290,7 +290,7 @@ YUI.add('lp.mustache', function(Y) {
if(value !== undefined) {
return value;
}
- // silently ignore unkown variables
+ // silently ignore unknown variables
return "";
},
diff --git a/lib/lp/app/javascript/ordering/ordering.js b/lib/lp/app/javascript/ordering/ordering.js
index bd4cbfc..657f45a 100644
--- a/lib/lp/app/javascript/ordering/ordering.js
+++ b/lib/lp/app/javascript/ordering/ordering.js
@@ -53,7 +53,7 @@ YUI.add('lp.ordering', function(Y) {
/**
- * The active sort key. This should coorespond to the current
+ * The active sort key. This should correspond to the current
* view of the data on the web page.
*
* Again, defaults will likely be overwritten with any use.
diff --git a/lib/lp/app/javascript/overlay/tests/test_overlay.js b/lib/lp/app/javascript/overlay/tests/test_overlay.js
index fb9970e..1a75ab7 100644
--- a/lib/lp/app/javascript/overlay/tests/test_overlay.js
+++ b/lib/lp/app/javascript/overlay/tests/test_overlay.js
@@ -251,7 +251,7 @@ YUI.add('lp.overlay.test', function (Y) {
},
test_getTabNodes_visibility: function() {
- // Hidden nodes are exluded because tab ignores them.
+ // Hidden nodes are excluded because tab ignores them.
// Remember that the 0 button is the close button in the header.
this.overlay = new Y.lp.ui.PrettyOverlay({
headerContent: 'Fnord',
diff --git a/lib/lp/app/javascript/picker/picker.js b/lib/lp/app/javascript/picker/picker.js
index ad94344..d12d7f4 100644
--- a/lib/lp/app/javascript/picker/picker.js
+++ b/lib/lp/app/javascript/picker/picker.js
@@ -539,7 +539,7 @@ ns.Picker = Y.Base.create('picker', Y.lp.ui.PrettyOverlay, [], {
this.fire('validate', value);
}, this, data);
} else {
- // Attach implicit valdate/save handler.
+ // Attach implicit validate/save handler.
li.on('click', function (e, value) {
this.fire('validate', value);
}, this, data);
@@ -940,7 +940,7 @@ ns.Picker = Y.Base.create('picker', Y.lp.ui.PrettyOverlay, [], {
},
/**
- * Fires the search event after checking the search string and reseting
+ * Fires the search event after checking the search string and resetting
* the relevant picker data.
* search event.
* @param search_string The search term.
diff --git a/lib/lp/app/javascript/picker/tests/test_picker.js b/lib/lp/app/javascript/picker/tests/test_picker.js
index 1a6e76e..ba04a50 100644
--- a/lib/lp/app/javascript/picker/tests/test_picker.js
+++ b/lib/lp/app/javascript/picker/tests/test_picker.js
@@ -668,7 +668,7 @@ YUI.add('lp.picker.test', function (Y) {
// error box and puts an in-error CSS class on the widget.
this.picker.render();
- var error_msg = 'Sorry an <error> occured.';
+ var error_msg = 'Sorry an <error> occurred.';
this.picker.set('error', error_msg);
var bb = this.picker.get('boundingBox');
@@ -683,7 +683,7 @@ YUI.add('lp.picker.test', function (Y) {
test_set_error_null_clears_ui: function () {
this.picker.render();
- this.picker.set('error', 'Sorry an error occured.');
+ this.picker.set('error', 'Sorry an error occurred.');
this.picker.set('error', null);
var bb = this.picker.get('boundingBox');
Assert.areEqual('', bb.one('.yui3-picker-error').get('text'),
@@ -1008,7 +1008,7 @@ YUI.add('lp.picker.test', function (Y) {
this.picker.set('selected_batch', 3);
Assert.areEqual(
0, this.picker.get('selected_batch'),
- "Index greather than last batch item shouldn't " +
+ "Index greater than last batch item shouldn't " +
"update selected_batch.");
this.picker.set('selected_batch', 'one');
diff --git a/lib/lp/app/javascript/subscribers/tests/test_subscribers_list.js b/lib/lp/app/javascript/subscribers/tests/test_subscribers_list.js
index be3bb4a..4fbe520 100644
--- a/lib/lp/app/javascript/subscribers/tests/test_subscribers_list.js
+++ b/lib/lp/app/javascript/subscribers/tests/test_subscribers_list.js
@@ -876,7 +876,7 @@ YUI.add('lp.app.subscribers.subscribers_list.test', function (Y) {
},
test_createSubscriberNode_display_name_truncated: function() {
- // The display name displayed should be truncted to 20 characters.
+ // The display name displayed should be truncated to 20 characters.
var subscribers_list = setUpSubscribersList(this.root);
var subscriber = {
name: 'user',
@@ -1368,7 +1368,7 @@ YUI.add('lp.app.subscribers.subscribers_list.test', function (Y) {
subscribers_list.stopSubscriberActivity(
subscriber, true, callback);
- // Callback is not called immediatelly.
+ // Callback is not called immediately.
Y.Assert.isFalse(callback_called);
this.wait(function() {
// But after waiting for animation to complete,
diff --git a/lib/lp/app/stories/basics/xx-notifications.rst b/lib/lp/app/stories/basics/xx-notifications.rst
index 17797d1..ce285d8 100644
--- a/lib/lp/app/stories/basics/xx-notifications.rst
+++ b/lib/lp/app/stories/basics/xx-notifications.rst
@@ -1,5 +1,5 @@
-Ensure that notifications are being displayed and propogated correctly.
+Ensure that notifications are being displayed and propagated correctly.
This first page adds notifications itself before being rendered.
@@ -22,7 +22,7 @@ This first page adds notifications itself before being rendered.
...
This second page adds notifications, and then redirects to another page.
-The notification messages should be propogated.
+The notification messages should be propagated.
>>> result = http(r"""
... GET /+notificationtest2 HTTP/1.1
diff --git a/lib/lp/app/stories/basics/xx-opstats.rst b/lib/lp/app/stories/basics/xx-opstats.rst
index 82a8ca1..fa3d11f 100644
--- a/lib/lp/app/stories/basics/xx-opstats.rst
+++ b/lib/lp/app/stories/basics/xx-opstats.rst
@@ -309,11 +309,11 @@ to somewhere that doesn't exist.
>>> no_db_overrides = """
... [database]
- ... rw_main_primary: dbname=nonexistant
- ... rw_main_standby: dbname=nonexistant
+ ... rw_main_primary: dbname=nonexistent
+ ... rw_main_standby: dbname=nonexistent
...
... [launchpad_session]
- ... dbname: nonexistant
+ ... dbname: nonexistent
... """
>>> config.push('no_db', no_db_overrides)
@@ -355,7 +355,7 @@ But our database connections are broken.
Traceback (most recent call last):
...
storm.exceptions.DisconnectionError:
- FATAL: database "nonexistant" does not exist
+ FATAL: database "nonexistent" does not exist
>>> dummy = config.pop('no_db')
>>> getUtility(IZStorm)._reset()
diff --git a/lib/lp/app/stories/launchpad-root/xx-featuredprojects.rst b/lib/lp/app/stories/launchpad-root/xx-featuredprojects.rst
index 8e54d4c..8b6909c 100644
--- a/lib/lp/app/stories/launchpad-root/xx-featuredprojects.rst
+++ b/lib/lp/app/stories/launchpad-root/xx-featuredprojects.rst
@@ -11,7 +11,7 @@ page and managed via a special admin-only page.
The home page listing
---------------------
-Featured projects are visible to everyone on the home page. One poject is
+Featured projects are visible to everyone on the home page. One project is
featured as "project of the day" depending on the current day. As we do not
know the current day, we replace that selection method in the view with a
constant value.
diff --git a/lib/lp/app/templates/launchpad-link.pt b/lib/lp/app/templates/launchpad-link.pt
index 5c71aac..568b6a4 100644
--- a/lib/lp/app/templates/launchpad-link.pt
+++ b/lib/lp/app/templates/launchpad-link.pt
@@ -3,7 +3,7 @@
xmlns:metal="http://xml.zope.org/namespaces/metal"
>
<tal:comment condition="nothing">
-The disabled link is invisble since it has the "hidden" class, and it
+The disabled link is invisible since it has the "hidden" class, and it
only appears when devmode is on, so that tests can more easily
verify that links are disabled.
</tal:comment>
diff --git a/lib/lp/app/tour/community b/lib/lp/app/tour/community
index 565e677..405ba57 100644
--- a/lib/lp/app/tour/community
+++ b/lib/lp/app/tour/community
@@ -72,7 +72,7 @@ Launchpad also helps you organise the social structure of your community with a
<p class="screen-holder">
<img src="images/community/2.png" alt="Team Responsibility" /> </p>
<p>
- Teams are interchangable with individuals in just about any role in Launchpad, such as <a href="bugs">bug triage</a>, owning a <a href="branch-hosting-tracking">branch of code</a> or publishing software packages through a <a href="ppa">PPA</a>. You can create as many teams as you want and even arrange a hierarchy of teams so that all the members of one team are also automatically members of another. Launchpad’s team functionality is unique among tools for free software developers.
+ Teams are interchangeable with individuals in just about any role in Launchpad, such as <a href="bugs">bug triage</a>, owning a <a href="branch-hosting-tracking">branch of code</a> or publishing software packages through a <a href="ppa">PPA</a>. You can create as many teams as you want and even arrange a hierarchy of teams so that all the members of one team are also automatically members of another. Launchpad’s team functionality is unique among tools for free software developers.
</p>
</div>
<div class="clear"></div>
diff --git a/lib/lp/app/validators/configure.zcml b/lib/lp/app/validators/configure.zcml
index b399c0e..f98b5f5 100644
--- a/lib/lp/app/validators/configure.zcml
+++ b/lib/lp/app/validators/configure.zcml
@@ -10,7 +10,7 @@
</class>
<!-- We define the permissions here, but register the actual view
- in the zcml overrides, becase we need to replace the standard Z3
+ in the zcml overrides, because we need to replace the standard Z3
implementation with our own -->
<class class="lp.app.validators.WidgetInputErrorView">
<require permission="zope.Public"
diff --git a/lib/lp/app/widgets/tests/test_datetime.py b/lib/lp/app/widgets/tests/test_datetime.py
index 3c135f5..a6b39e9 100644
--- a/lib/lp/app/widgets/tests/test_datetime.py
+++ b/lib/lp/app/widgets/tests/test_datetime.py
@@ -29,7 +29,7 @@ class TestDateTimeWidget(TestCase):
)
def test_unconverted_message(self):
- # The widget format checker relies on a particular mesage
+ # The widget format checker relies on a particular message
# being returned. If that breaks, this will tell us.
test_str = "2010-01-01 10:10:10"
fmt = "%Y-%m-%d"
diff --git a/lib/lp/app/widgets/tests/test_suggestion.py b/lib/lp/app/widgets/tests/test_suggestion.py
index adabd07..63d87c5 100644
--- a/lib/lp/app/widgets/tests/test_suggestion.py
+++ b/lib/lp/app/widgets/tests/test_suggestion.py
@@ -98,7 +98,7 @@ class TestSuggestionWidget(TestCaseWithFactory):
)
def test__renderSuggestionLabel_unsafe_content(self):
- # Render sugestion label escapes unsafe markup.
+ # Render suggestion label escapes unsafe markup.
structured_string = self.widget._renderSuggestionLabel(
self.UNSAFE_OBJECT, 2
)