← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] ~cjwatson/launchpad:doctest-want-line-length into launchpad:master

 

Colin Watson has proposed merging ~cjwatson/launchpad:doctest-want-line-length into launchpad:master.

Commit message:
lp-lint-doctest: Fix "want exceeds 78 characters" errors

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)

For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/407523
-- 
Your team Launchpad code reviewers is requested to review the proposed merge of ~cjwatson/launchpad:doctest-want-line-length into launchpad:master.
diff --git a/lib/lp/answers/browser/tests/views.txt b/lib/lp/answers/browser/tests/views.txt
index d481a9c..93b8aff 100644
--- a/lib/lp/answers/browser/tests/views.txt
+++ b/lib/lp/answers/browser/tests/views.txt
@@ -483,7 +483,8 @@ owner) to change status whiteboard, the values are unchanged.
     Firefox is slow and consumes too much RAM
 
     >>> print(question_three.description)
-    I'm running on a 486 with 32 MB ram. And Firefox is slow! What should I do?
+    I'm running on a 486 with 32 MB ram. And Firefox is slow! What should I
+    do?
 
     >>> question_three.assignee is None
     True
diff --git a/lib/lp/answers/stories/question-browse-and-search.txt b/lib/lp/answers/stories/question-browse-and-search.txt
index 0af0cb3..38e2787 100644
--- a/lib/lp/answers/stories/question-browse-and-search.txt
+++ b/lib/lp/answers/stories/question-browse-and-search.txt
@@ -139,7 +139,8 @@ details of the question are available.
     Question #7 : ...
     >>> soup = find_main_content(browser.contents)
     >>> soup('div', 'report')
-    [<div class="report"><p>I get really poor hard drive performance.</p></div>]
+    [<div class="report"><p>I get really poor hard drive
+    performance.</p></div>]
 
 
 Jumping to Questions
@@ -392,7 +393,8 @@ They need to login to access that page:
     ...     '+questions')
     >>> sample_person_browser.getLink('My questions').click()
     >>> print(repr(sample_person_browser.title))
-    'Questions you asked about mozilla-firefox in Ubuntu : Questions : mozilla-firefox package : Ubuntu'
+    'Questions you asked about mozilla-firefox in Ubuntu : Questions :
+    mozilla-firefox package : Ubuntu'
     >>> questions = find_tag_by_id(
     ...     sample_person_browser.contents, 'question-listing')
     >>> for question in questions.find_all('td', 'questionTITLE'):
@@ -476,7 +478,8 @@ Like all other report, this one is searchable:
     ...     name='field.search_text').value = 'evolution'
     >>> sample_person_browser.getControl('Search', index=0).click()
     >>> print(sample_person_browser.title)
-    Questions matching "evolution" needing your attention for Ubuntu : Questions : Ubuntu
+    Questions matching "evolution" needing your attention for Ubuntu :
+    Questions : Ubuntu
     >>> search_summary = find_main_content(sample_person_browser.contents)
     >>> print(search_summary)
     <...
@@ -706,11 +709,13 @@ The same standard reports than on regular QuestionTarget are available:
     >>> user_browser.open('http://launchpad.test/mozilla/+questions')
     >>> user_browser.getLink('My questions').click()
     >>> print(user_browser.title)
-    Questions you asked about The Mozilla Project : Questions : The Mozilla Project
+    Questions you asked about The Mozilla Project : Questions : The Mozilla
+    Project
 
     >>> user_browser.getLink('Need attention').click()
     >>> print(user_browser.title)
-    Questions needing your attention for The Mozilla Project : Questions : The Mozilla Project
+    Questions needing your attention for The Mozilla Project : Questions : The
+    Mozilla Project
 
 
 Searching All Questions
diff --git a/lib/lp/answers/stories/question-search-multiple-languages.txt b/lib/lp/answers/stories/question-search-multiple-languages.txt
index 4d13a57..3668977 100644
--- a/lib/lp/answers/stories/question-search-multiple-languages.txt
+++ b/lib/lp/answers/stories/question-search-multiple-languages.txt
@@ -295,7 +295,8 @@ the preceding page.
 
     >>> user_browser.getLink('Portuguese (Brazil)').click()
     >>> print(user_browser.title)
-    Portuguese (Brazil) questions in Mozilla Firefox : Questions : Mozilla Firefox
+    Portuguese (Brazil) questions in Mozilla Firefox : Questions : Mozilla
+    Firefox
 
     >>> language_field = user_browser.getControl(name='field.language')
     >>> print(language_field.type)
diff --git a/lib/lp/answers/stories/this-is-a-faq.txt b/lib/lp/answers/stories/this-is-a-faq.txt
index d382d3b..757f69c 100644
--- a/lib/lp/answers/stories/this-is-a-faq.txt
+++ b/lib/lp/answers/stories/this-is-a-faq.txt
@@ -231,7 +231,8 @@ Sample Person who is the project owner does have that ability.
     >>> owner_browser.open(
     ...     'http://answers.launchpad.test/firefox/+question/2')
     >>> owner_browser.getLink('Create a new FAQ')
-    <Link text='Create a new FAQ' url='http://.../firefox/+question/2/+createfaq'>
+    <Link text='Create a new FAQ'
+          url='http://.../firefox/+question/2/+createfaq'>
     >>> owner_browser.getLink('Link to a FAQ').click()
     >>> owner_browser.getLink('create a new FAQ').click()
     >>> print(owner_browser.url)
diff --git a/lib/lp/app/doc/displaying-paragraphs-of-text.txt b/lib/lp/app/doc/displaying-paragraphs-of-text.txt
index 7382553..94171e0 100644
--- a/lib/lp/app/doc/displaying-paragraphs-of-text.txt
+++ b/lib/lp/app/doc/displaying-paragraphs-of-text.txt
@@ -52,7 +52,10 @@ Basics
     >>> print(test_tales('foo/fmt:text-to-html', foo=text))
     <p>&nbsp;1. Here&#x27;s an example<br />
     &nbsp;2. where a list is followed by a paragraph.<br />
-    &nbsp;&nbsp;&nbsp;Leading spaces in a line or paragraph are presented, which means converting them to &amp;nbsp;. Trailing spaces are passed through as-is, which means browsers will ignore them, but that&#x27;s fine, they&#x27;re not important anyway.</p>
+    &nbsp;&nbsp;&nbsp;Leading spaces in a line or paragraph are presented,
+    which means converting them to &amp;nbsp;. Trailing spaces are passed
+    through as-is, which means browsers will ignore them, but that&#x27;s
+    fine, they&#x27;re not important anyway.</p>
 
     >>> text = (
     ...     'This is a little paragraph all by itself. How cute!'
@@ -281,13 +284,15 @@ Works with multiple bugs:
 
     >>> text = 'LP: #123, #2.\n'
     >>> print(test_tales('foo/fmt:text-to-html', foo=text))
-    <p>LP: <a href="/bugs/123" class="bug-link">#123</a>, <a href="/bugs/2" class="bug-link">#2</a>.</p>
+    <p>LP: <a href="/bugs/123" class="bug-link">#123</a>,
+           <a href="/bugs/2" class="bug-link">#2</a>.</p>
 
 And with lower case 'lp' too:
 
     >>> text = 'lp: #123, #2.\n'
     >>> print(test_tales('foo/fmt:text-to-html', foo=text))
-    <p>lp: <a href="/bugs/123" class="bug-link">#123</a>, <a href="/bugs/2" class="bug-link">#2</a>.</p>
+    <p>lp: <a href="/bugs/123" class="bug-link">#123</a>,
+           <a href="/bugs/2" class="bug-link">#2</a>.</p>
 
 Even line breaks cannot stop the power of bug linking:
 
@@ -369,9 +374,11 @@ Branch references are linkified:
     ...     'lp:/foo\n')
     >>> print(test_tales('foo/fmt:text-to-html', foo=text))
     <p><a href="/+code/~foo/bar/baz" class="...">lp:~foo/bar/baz</a><br />
-    <a href="/+code/~foo/bar/bug-123" class="...">lp:~foo/bar/bug-123</a><br />
+    <a href="/+code/~foo/bar/bug-123"
+       class="...">lp:~foo/bar/bug-123</a><br />
     <a href="/+code/~foo/+junk/baz" class="...">lp:~foo/+junk/baz</a><br />
-    <a href="/+code/~foo/ubuntu/jaunty/evolution/baz" class="...">lp:~foo/ubuntu/jaunty/evolution/baz</a><br />
+    <a href="/+code/~foo/ubuntu/jaunty/evolution/baz"
+       class="...">lp:~foo/ubuntu/jaunty/evolution/baz</a><br />
     <a href="/+code/foo/bar" class="...">lp:foo/bar</a><br />
     <a href="/+code/foo" class="...">lp:foo</a><br />
     <a href="/+code/foo" class="...">lp:foo</a>,<br />
diff --git a/lib/lp/app/doc/menus.txt b/lib/lp/app/doc/menus.txt
index 8cf0d3a..b1e0203 100644
--- a/lib/lp/app/doc/menus.txt
+++ b/lib/lp/app/doc/menus.txt
@@ -788,7 +788,8 @@ identical to the one in the parent's menu.)
     ...     recipe_ingredients_view, INavigationMenu, name='cookery')
     >>> summarise_links(recipe_overview_menu)
     link edit_instructions
-        url: http://launchpad.test/joy-of-cooking/fried-spam/+edit-instructions
+        url:
+          http://launchpad.test/joy-of-cooking/fried-spam/+edit-instructions
         enabled: True
         menu: None
         linked: True
diff --git a/lib/lp/app/stories/basics/xx-offsite-form-post.txt b/lib/lp/app/stories/basics/xx-offsite-form-post.txt
index d3cd7aa..b41aab4 100644
--- a/lib/lp/app/stories/basics/xx-offsite-form-post.txt
+++ b/lib/lp/app/stories/basics/xx-offsite-form-post.txt
@@ -118,11 +118,10 @@ OffsiteFormPostError.
     ...
     urllib.error.HTTPError: HTTP Error 401: Unauthorized
 
-We also let the request go through if the referrer is from a site
-managed by launchpad:
+We also let the request go through if the referrer is from a site managed by
+launchpad.  (Go behind the curtains and change the hostname of one of our
+sites so that we can test this.)
 
-    # Go behind the curtains and change the hostname of one of our sites so that
-    # we can test this.
     >>> from lp.services.webapp.vhosts import allvhosts
     >>> allvhosts._hostnames.add('bzr.dev')
 
diff --git a/lib/lp/app/widgets/doc/project-scope-widget.txt b/lib/lp/app/widgets/doc/project-scope-widget.txt
index 5ba7152..366a4bd 100644
--- a/lib/lp/app/widgets/doc/project-scope-widget.txt
+++ b/lib/lp/app/widgets/doc/project-scope-widget.txt
@@ -191,7 +191,8 @@ button, as well as displaying the product name in the project widget.
       <input type="text" value="mozilla" id="field.scope.target"
              name="field.scope.target" size="20"
              maxlength=""
-             onKeyPress="selectWidget(&#x27;field.scope.option.project&#x27;, event)" style=""
+             onKeyPress="selectWidget(&#x27;field.scope.option.project&#x27;,
+                                      event)" style=""
              class="" />
     ...
 
diff --git a/lib/lp/blueprints/stories/blueprints/xx-dependencies.txt b/lib/lp/blueprints/stories/blueprints/xx-dependencies.txt
index 0164163..cdd8452 100644
--- a/lib/lp/blueprints/stories/blueprints/xx-dependencies.txt
+++ b/lib/lp/blueprints/stories/blueprints/xx-dependencies.txt
@@ -241,7 +241,8 @@ image and map.
     <area shape="poly"
       ...href="http://blueprints.launchpad.test/firefox/+spec/mergewin"; .../>
     <area shape="poly"
-      ...href="http://blueprints.launchpad.test/firefox/+spec/svg...support"; .../>
+      ...href="http://blueprints.launchpad.test/firefox/+spec/svg...support";
+      .../>
     </map>
 
 
diff --git a/lib/lp/blueprints/stories/blueprints/xx-non-ascii-imagemap.txt b/lib/lp/blueprints/stories/blueprints/xx-non-ascii-imagemap.txt
index 14bdedb..f1a6c0e 100644
--- a/lib/lp/blueprints/stories/blueprints/xx-non-ascii-imagemap.txt
+++ b/lib/lp/blueprints/stories/blueprints/xx-non-ascii-imagemap.txt
@@ -17,6 +17,7 @@ And they're correctly displayed in the dependency graph imagemap.
     <img ...
     <map id="deptree" name="deptree">
     <area shape="poly" ...title="Support &lt;canvas&gt; Objects" .../>
-    <area shape="poly" ...title="A title with non&#45;ascii characters áã" .../>
+    <area shape="poly" ...title="A title with non&#45;ascii characters áã"
+    .../>
     ...
 
diff --git a/lib/lp/blueprints/stories/standalone/xx-retargeting.txt b/lib/lp/blueprints/stories/standalone/xx-retargeting.txt
index 6458f63..a969dbe 100644
--- a/lib/lp/blueprints/stories/standalone/xx-retargeting.txt
+++ b/lib/lp/blueprints/stories/standalone/xx-retargeting.txt
@@ -62,4 +62,5 @@ We stay on the same page and get an error message printed out:
     ...     print(tag.decode_contents())
     There is 1 error.
     <BLANKLINE>
-    There is no project with the name 'foo bar'. Please check that name and try again.
+    There is no project with the name 'foo bar'. Please check that name and
+    try again.
diff --git a/lib/lp/bugs/browser/tests/bugtask-search-views.txt b/lib/lp/bugs/browser/tests/bugtask-search-views.txt
index 48d3458..f7c76c4 100644
--- a/lib/lp/bugs/browser/tests/bugtask-search-views.txt
+++ b/lib/lp/bugs/browser/tests/bugtask-search-views.txt
@@ -152,7 +152,8 @@ message.
 
     >>> print(
     ...     distro_advanced_search_listingview.getFieldError('bug_reporter'))
-    There&#x27;s no person with the name or email address &#x27;invalid-reporter&#x27;.
+    There&#x27;s no person with the name or email address
+    &#x27;invalid-reporter&#x27;.
 
 The same if we try with an invalid assignee.
 
@@ -166,7 +167,8 @@ The same if we try with an invalid assignee.
     ...     debian, '+bugs', form_values)
 
     >>> print(distro_advanced_search_listingview.getFieldError('assignee'))
-    There&#x27;s no person with the name or email address &#x27;invalid-assignee&#x27;.
+    There&#x27;s no person with the name or email address
+    &#x27;invalid-assignee&#x27;.
 
 Searching by component is possible, as long as the context has defined a
 .currentseries.
diff --git a/lib/lp/bugs/doc/bugtracker.txt b/lib/lp/bugs/doc/bugtracker.txt
index 3556598..9d6be71 100644
--- a/lib/lp/bugs/doc/bugtracker.txt
+++ b/lib/lp/bugs/doc/bugtracker.txt
@@ -432,7 +432,8 @@ it.
     >>> links = example_trac.getBugFilingAndSearchLinks(
     ...     remote_product='testproduct', summary="Foo", description="Bar")
     >>> print_links(links)
-    bug_filing_url: http://trac.example.com/newticket?summary=Foo&description=Bar
+    bug_filing_url:
+      http://trac.example.com/newticket?summary=Foo&description=Bar
     bug_search_url: http://trac.example.com/search?ticket=on&q=Foo
 
     >>> example_roundup = factory.makeBugTracker(
diff --git a/lib/lp/bugs/doc/checkwatches.txt b/lib/lp/bugs/doc/checkwatches.txt
index 7d1ec21..5bea5fa 100644
--- a/lib/lp/bugs/doc/checkwatches.txt
+++ b/lib/lp/bugs/doc/checkwatches.txt
@@ -215,7 +215,8 @@ CheckwatchesMaster's logger.
     >>> update_all('savannah', batch_size)
     INFO Resetting 1 bug watches for bug tracker 'savannah'
     INFO Updating 1 watches on bug tracker 'savannah'
-    INFO 'Unsupported Bugtracker' error updating http://savannah.gnu.org/: SAVANE
+    INFO 'Unsupported Bugtracker' error updating http://savannah.gnu.org/:
+    SAVANE
     INFO 0 watches left to check on bug tracker 'savannah'
 
 We can see that the Savannah bug watch has been updated recently. Also,
diff --git a/lib/lp/bugs/doc/treelookup.txt b/lib/lp/bugs/doc/treelookup.txt
index c8f2325..ecf3009 100644
--- a/lib/lp/bugs/doc/treelookup.txt
+++ b/lib/lp/bugs/doc/treelookup.txt
@@ -205,6 +205,7 @@ leaves.
     ...         [pretty(node.keys) for node in path] + [pretty(result)]))
     ('Snack',) => ('Mars Bar', 'Snickers') => 'Bad'
     ('Snack',) => ('Apple', 'Banana') => 'Good'
-    ('Lunch', 'Dinner') => ('Fish and chips', "Penne all'arrabbiata") => 'Nice'
+    ('Lunch', 'Dinner') => ('Fish and chips', "Penne all'arrabbiata")
+      => 'Nice'
     ('Lunch', 'Dinner') => ('Raw liver',) => 'Not so nice'
     () => 'Make up your mind!'
diff --git a/lib/lp/bugs/stories/bug-release-management/nomination-navigation.txt b/lib/lp/bugs/stories/bug-release-management/nomination-navigation.txt
index b974d94..1e246f7 100644
--- a/lib/lp/bugs/stories/bug-release-management/nomination-navigation.txt
+++ b/lib/lp/bugs/stories/bug-release-management/nomination-navigation.txt
@@ -16,8 +16,10 @@ same navigation as the bug page itself.
     Tabs:
     * Overview - http://launchpad.test/ubuntu/+source/mozilla-firefox
     * Code - http://code.launchpad.test/ubuntu/+source/mozilla-firefox
-    * Bugs (selected) - http://bugs.launchpad.test/ubuntu/+source/mozilla-firefox
+    * Bugs (selected) -
+      http://bugs.launchpad.test/ubuntu/+source/mozilla-firefox
     * Blueprints - not linked
-    * Translations - http://translations.launchpad.test/ubuntu/+source/mozilla-firefox
+    * Translations -
+      http://translations.launchpad.test/ubuntu/+source/mozilla-firefox
     * Answers - http://answers.launchpad.test/ubuntu/+source/mozilla-firefox
     Main heading: Approve or decline nomination for bug #1 in Ubuntu Hoary
diff --git a/lib/lp/bugs/stories/bugs/bug-add-subscriber.txt b/lib/lp/bugs/stories/bugs/bug-add-subscriber.txt
index e0bbfc9..73da039 100644
--- a/lib/lp/bugs/stories/bugs/bug-add-subscriber.txt
+++ b/lib/lp/bugs/stories/bugs/bug-add-subscriber.txt
@@ -85,7 +85,8 @@ David got a notification, saying that he was subscribed to the bug.
     X-Launchpad-Message-Rationale: Subscriber
     X-Launchpad-Message-For: ddaa
     ...
-    You have been subscribed to a public bug by No Privileges Person (no-priv):
+    You have been subscribed to a public bug by No Privileges Person
+    (no-priv):
     ...
     http://bugs.launchpad.test/bugs/...
 
diff --git a/lib/lp/bugs/stories/bugs/xx-bug-activity.txt b/lib/lp/bugs/stories/bugs/xx-bug-activity.txt
index 1d75aa4..f37e376 100644
--- a/lib/lp/bugs/stories/bugs/xx-bug-activity.txt
+++ b/lib/lp/bugs/stories/bugs/xx-bug-activity.txt
@@ -18,7 +18,8 @@ the main heading repeats the bug number for clarity:
     * Code - http://code.launchpad.test/debian/+source/mozilla-firefox
     * Bugs (selected) - http://bugs...test/debian/+source/mozilla-firefox
     * Blueprints - not linked
-    * Translations - http://translations.launchpad.test/debian/+source/mozilla-firefox
+    * Translations -
+      http://translations.launchpad.test/debian/+source/mozilla-firefox
     * Answers - http://answers.launchpad.test/debian/+source/mozilla-firefox
     Main heading: Activity log for bug #3
 
diff --git a/lib/lp/bugs/stories/bugs/xx-bug-heat-on-bug-page.txt b/lib/lp/bugs/stories/bugs/xx-bug-heat-on-bug-page.txt
index 141f6e8..fea160b 100644
--- a/lib/lp/bugs/stories/bugs/xx-bug-heat-on-bug-page.txt
+++ b/lib/lp/bugs/stories/bugs/xx-bug-heat-on-bug-page.txt
@@ -6,4 +6,5 @@ Bug heat appears on the bug index page:
     >>> anon_browser.open('http://bugs.launchpad.test/firefox/+bug/1')
     >>> content = find_main_content(anon_browser.contents)
     >>> print(content.find('a', href='/+help-bugs/bug-heat.html'))
-    <a class="sprite flame" href="/+help-bugs/bug-heat.html" target="help">0</a>
+    <a class="sprite flame" href="/+help-bugs/bug-heat.html"
+       target="help">0</a>
diff --git a/lib/lp/bugs/stories/bugs/xx-bug-index.txt b/lib/lp/bugs/stories/bugs/xx-bug-index.txt
index 62b2b75..3af7922 100644
--- a/lib/lp/bugs/stories/bugs/xx-bug-index.txt
+++ b/lib/lp/bugs/stories/bugs/xx-bug-index.txt
@@ -21,7 +21,8 @@ The breadcrumbs and other navigation include a link to the bug itself.
     * Bugs (selected) -
       http://bugs.launchpad.test/debian/+source/mozilla-firefox
     * Blueprints - not linked
-    * Translations - http://translations.launchpad.test/debian/+source/mozilla-firefox
+    * Translations -
+      http://translations.launchpad.test/debian/+source/mozilla-firefox
     * Answers - http://answers.launchpad.test/debian/+source/mozilla-firefox
     Main heading: Blackhole Trash folder
 
diff --git a/lib/lp/bugs/stories/bugs/xx-incomplete-bugs.txt b/lib/lp/bugs/stories/bugs/xx-incomplete-bugs.txt
index 7954298..53f0cd4 100644
--- a/lib/lp/bugs/stories/bugs/xx-incomplete-bugs.txt
+++ b/lib/lp/bugs/stories/bugs/xx-incomplete-bugs.txt
@@ -27,7 +27,8 @@ was supplied (through comments) are 'Incomplete (without response)'.
     ...     ['INCOMPLETE_WITHOUT_RESPONSE'])
     >>> user_browser.getControl('Search', index=1).click()
     >>> find_tag_by_id(user_browser.contents, 'bugs-table-listing').find('a')
-    <a class="bugtitle" href="http://bugs.launchpad.test/jokosher/+bug/11";>...</a>
+    <a class="bugtitle"
+       href="http://bugs.launchpad.test/jokosher/+bug/11";>...</a>
 
 Bugs that have been marked incomplete and for which new information was
 supplied are 'Incomplete (with response)'.
@@ -64,7 +65,8 @@ They try again to find that bug using the advanced search form.
     ...     ['INCOMPLETE_WITH_RESPONSE'])
     >>> user_browser.getControl('Search', index=1).click()
     >>> find_tag_by_id(user_browser.contents, 'bugs-table-listing').find('a')
-    <a class="bugtitle" href="http://bugs.launchpad.test/jokosher/+bug/11";>...</a>
+    <a class="bugtitle"
+       href="http://bugs.launchpad.test/jokosher/+bug/11";>...</a>
 
 The bug is there, since they supplied new information in a comment. No
 Privileges Person makes sure that it no longer is in the list of
diff --git a/lib/lp/bugs/stories/bugtask-searches/xx-listing-basics.txt b/lib/lp/bugs/stories/bugtask-searches/xx-listing-basics.txt
index c87f26a..1e818e2 100644
--- a/lib/lp/bugs/stories/bugtask-searches/xx-listing-basics.txt
+++ b/lib/lp/bugs/stories/bugtask-searches/xx-listing-basics.txt
@@ -272,7 +272,8 @@ relevant listings:
     >>> milestone = find_tags_by_class(browser.contents, 'sprite milestone')
     >>> print(milestone[0])
     <a alt="milestone 3.1" class="sprite milestone"
-    href="http://launchpad.test/debian/+milestone/3.1"; title="Linked to milestone 3.1"></a>
+       href="http://launchpad.test/debian/+milestone/3.1";
+       title="Linked to milestone 3.1"></a>
 
 
 Patches also appear as badges in bug listings.
diff --git a/lib/lp/bugs/stories/bugwatches/xx-bugwatch-comments.txt b/lib/lp/bugs/stories/bugwatches/xx-bugwatch-comments.txt
index b64a470..4224aba 100644
--- a/lib/lp/bugs/stories/bugwatches/xx-bugwatch-comments.txt
+++ b/lib/lp/bugs/stories/bugwatches/xx-bugwatch-comments.txt
@@ -25,8 +25,8 @@ These comments can be displayed like any other comments on a bug. Bug
        handled in /etc/fstab, so this might not even be a...pmount bug...
     ----------------------------------------
     <div class="comment-text editable-message-text"
-         itemprop="commentText"><p>I'll be happy to add the info you request to
-      the bug report if it will...
+         itemprop="commentText"><p>I'll be happy to add the info you request
+      to the bug report if it will...
     ----------------------------------------
 
 The comments imported for a watch can be seen on that watch's +comments
@@ -56,6 +56,6 @@ The ordinary user can't see these comments:
        in /etc/fstab, so this might not even be a...pmount bug...
     ----------------------------------------
     <div class="comment-text editable-message-text"
-         itemprop="commentText"><p>I'll be happy to add the info you request to
-       the bug report if it will...
+         itemprop="commentText"><p>I'll be happy to add the info you request
+       to the bug report if it will...
     ----------------------------------------
diff --git a/lib/lp/bugs/stories/feeds/xx-bug-atom.txt b/lib/lp/bugs/stories/feeds/xx-bug-atom.txt
index d58ea15..127b46c 100644
--- a/lib/lp/bugs/stories/feeds/xx-bug-atom.txt
+++ b/lib/lp/bugs/stories/feeds/xx-bug-atom.txt
@@ -49,7 +49,8 @@ point to the bugs themselves.
     >>> self_links = parse_links(browser.contents, 'self')
     >>> for link in self_links:
     ...     print(link)
-    <link href="http://feeds.launchpad.test/jokosher/latest-bugs.atom"; rel="self"/>
+    <link href="http://feeds.launchpad.test/jokosher/latest-bugs.atom";
+          rel="self"/>
 
     >>> entries = parse_entries(browser.contents)
     >>> print(len(entries))
@@ -101,7 +102,8 @@ as the latest bugs feed for a product.
     >>> self_links = parse_links(browser.contents, 'self')
     >>> for link in self_links:
     ...     print(link)
-    <link href="http://feeds.launchpad.test/mozilla/latest-bugs.atom"; rel="self"/>
+    <link href="http://feeds.launchpad.test/mozilla/latest-bugs.atom";
+          rel="self"/>
 
     >>> entries = parse_entries(browser.contents)
     >>> print(len(entries))
@@ -163,7 +165,8 @@ of content as the latest bugs feed for a product.
     >>> self_links = parse_links(browser.contents, 'self')
     >>> for link in self_links:
     ...     print(link)
-    <link href="http://feeds.launchpad.test/ubuntu/latest-bugs.atom"; rel="self"/>
+    <link href="http://feeds.launchpad.test/ubuntu/latest-bugs.atom";
+          rel="self"/>
 
     >>> entries = parse_entries(browser.contents)
     >>> print(len(entries))
@@ -284,7 +287,8 @@ type of content as the latest bugs feed for a product.
     >>> self_links = parse_links(browser.contents, 'self')
     >>> for link in self_links:
     ...     print(link)
-    <link href="http://feeds.launchpad.test/ubuntu/hoary/latest-bugs.atom"; rel="self"/>
+    <link href="http://feeds.launchpad.test/ubuntu/hoary/latest-bugs.atom";
+          rel="self"/>
 
     >>> entries = parse_entries(browser.contents)
     >>> print(len(entries))
@@ -325,7 +329,8 @@ type of content as the latest bugs feed for a product.
     >>> self_links = parse_links(browser.contents, 'self')
     >>> for link in self_links:
     ...     print(link)
-    <link href="http://feeds.launchpad.test/firefox/1.0/latest-bugs.atom"; rel="self"/>
+    <link href="http://feeds.launchpad.test/firefox/1.0/latest-bugs.atom";
+          rel="self"/>
 
     >>> entries = parse_entries(browser.contents)
     >>> print(len(entries))
@@ -364,7 +369,8 @@ This feed gets the latest bugs for a person.
     >>> self_links = parse_links(browser.contents, 'self')
     >>> for link in self_links:
     ...     print(link)
-    <link href="http://feeds.launchpad.test/~name16/latest-bugs.atom"; rel="self"/>
+    <link href="http://feeds.launchpad.test/~name16/latest-bugs.atom";
+          rel="self"/>
 
     >>> entries = parse_entries(browser.contents)
     >>> print(len(entries))
@@ -438,7 +444,8 @@ some results.
     >>> self_links = parse_links(browser.contents, 'self')
     >>> for link in self_links:
     ...     print(link)
-    <link href="http://feeds.launchpad.test/~simple-team/latest-bugs.atom"; rel="self"/>
+    <link href="http://feeds.launchpad.test/~simple-team/latest-bugs.atom";
+          rel="self"/>
 
     >>> entries = parse_entries(browser.contents)
     >>> print(len(entries))
@@ -469,7 +476,8 @@ This feed gets the latest bugs reported against any target.
     >>> self_links = parse_links(browser.contents, 'self')
     >>> for link in self_links:
     ...     print(link)
-    <link href="http://feeds.launchpad.test/bugs/latest-bugs.atom"; rel="self"/>
+    <link href="http://feeds.launchpad.test/bugs/latest-bugs.atom";
+          rel="self"/>
 
     >>> entries = parse_entries(browser.contents)
     >>> print(len(entries))
diff --git a/lib/lp/bugs/stories/webservice/xx-bug-tracker.txt b/lib/lp/bugs/stories/webservice/xx-bug-tracker.txt
index 5914d8b..4b5c81c 100644
--- a/lib/lp/bugs/stories/webservice/xx-bug-tracker.txt
+++ b/lib/lp/bugs/stories/webservice/xx-bug-tracker.txt
@@ -10,7 +10,8 @@ any user can access.
     >>> bug_tracker_collection = anon_webservice.get(
     ...     '/bugs/bugtrackers').jsonBody()
     >>> pprint_collection(bug_tracker_collection)
-    next_collection_link: 'http://.../bugs/bugtrackers?ws.size=5&memo=5&ws.start=5'
+    next_collection_link:
+      'http://.../bugs/bugtrackers?ws.size=5&memo=5&ws.start=5'
     resource_type_link: 'http://.../#bug_trackers'
     start: 0
     total_size: 8
diff --git a/lib/lp/bugs/stories/webservice/xx-bug.txt b/lib/lp/bugs/stories/webservice/xx-bug.txt
index b1b25d0..e19ef0f 100644
--- a/lib/lp/bugs/stories/webservice/xx-bug.txt
+++ b/lib/lp/bugs/stories/webservice/xx-bug.txt
@@ -48,7 +48,8 @@ Bugs are indexed by number beneath the top-level collection.
     users_affected_collection_link: 'http://.../bugs/1/users_affected'
     users_affected_count: 0
     users_affected_count_with_dupes: 0
-    users_affected_with_dupes_collection_link: 'http://.../bugs/1/users_affected_with_dupes'
+    users_affected_with_dupes_collection_link:
+      'http://.../bugs/1/users_affected_with_dupes'
     users_unaffected_collection_link: 'http://.../bugs/1/users_unaffected'
     users_unaffected_count: 0
     web_link: 'http://bugs.../bugs/1'
@@ -346,12 +347,13 @@ data in a bug task is derived from the bug.
     milestone_link: None
     owner_link: 'http://.../~name12'
     related_tasks_collection_link:
-     'http://api.../debian/+source/mozilla-firefox/+bug/1/related_tasks'
+      'http://api.../debian/+source/mozilla-firefox/+bug/1/related_tasks'
     resource_type_link: 'http://.../#bug_task'
     self_link: 'http://api.../debian/+source/mozilla-firefox/+bug/1'
     status: 'Confirmed'
     target_link: 'http://api.../debian/+source/mozilla-firefox'
-    title: 'Bug #1 in mozilla-firefox (Debian): "Firefox does not support SVG"'
+    title:
+      'Bug #1 in mozilla-firefox (Debian): "Firefox does not support SVG"'
     web_link: 'http://bugs.../debian/+source/mozilla-firefox/+bug/1'
 
 The collection of bug tasks is not exposed as a resource:
@@ -1230,7 +1232,8 @@ renamed bug tracker.
     >>> pprint_entry(bug_tracker)
     active: True
     base_url: 'http://bugs.example.com/'
-    base_url_aliases: ['http://bugs.example.com/bugs/', 'http://www.example.com/bugtracker/']
+    base_url_aliases:
+      ['http://bugs.example.com/bugs/', 'http://www.example.com/bugtracker/']
     bug_tracker_type: 'Bugzilla'
     contact_details: 'bob@xxxxxxxxxxx'
     has_lp_plugin: None
@@ -1355,7 +1358,8 @@ attachment. This is where our comment is recorded.
 
     >>> message = webservice.get(attachment['message_link']).jsonBody()
     >>> pprint_entry(message)
-    bug_attachments_collection_link: 'http://.../firefox/+bug/1/comments/2/bug_attachments'
+    bug_attachments_collection_link:
+      'http://.../firefox/+bug/1/comments/2/bug_attachments'
     content: 'The numbers you asked for.'
     date_created: '...'
     date_deleted: None
@@ -1408,7 +1412,8 @@ But we can remove the attachment altogether.
     >>> attachments = webservice.get(
     ...     bug_one['attachments_collection_link']).jsonBody()
     >>> pprint_collection(attachments)
-    resource_type_link: 'http://api.launchpad.test/beta/#bug_attachment-page-resource'
+    resource_type_link:
+      'http://api.launchpad.test/beta/#bug_attachment-page-resource'
     start: 0
     total_size: 0
     ---
@@ -1927,7 +1932,8 @@ Each bug has a collection of activities that have taken place with it.
     >>> activity = anon_webservice.get(
     ...     bug_one['activity_collection_link']).jsonBody()
     >>> pprint_collection(activity)
-    next_collection_link: 'http://.../bugs/1/activity?ws.size=5&memo=5&ws.start=5'
+    next_collection_link:
+      'http://.../bugs/1/activity?ws.size=5&memo=5&ws.start=5'
     resource_type_link: 'http://.../#bug_activity-page-resource'
     start: 0
     total_size: 24
diff --git a/lib/lp/bugs/tests/bugzilla-api-xmlrpc-transport.txt b/lib/lp/bugs/tests/bugzilla-api-xmlrpc-transport.txt
index 055e1d1..a22d598 100644
--- a/lib/lp/bugs/tests/bugzilla-api-xmlrpc-transport.txt
+++ b/lib/lp/bugs/tests/bugzilla-api-xmlrpc-transport.txt
@@ -358,7 +358,8 @@ the comments for those bugs.
         creator: Slartibartfast <slarti@xxxxxxxxxxxxxxxxxxxxx>
         id: 6
         is_private: False
-        text: You know the fjords in Norway?  I got a prize for creating those, you know.
+        text: You know the fjords in Norway?  I got a prize for creating
+              those, you know.
         time: 2008-06-20 12:37:00
     <BLANKLINE>
     <BLANKLINE>
diff --git a/lib/lp/code/doc/branch-notifications.txt b/lib/lp/code/doc/branch-notifications.txt
index c8ff6d5..aabce60 100644
--- a/lib/lp/code/doc/branch-notifications.txt
+++ b/lib/lp/code/doc/branch-notifications.txt
@@ -345,8 +345,8 @@ Limit hit for jeff:
     To: Jeff Waugh <jeff.waugh@xxxxxxxxxxxxxxx>
     Test message.
     <BLANKLINE>
-    The size of the diff (800 lines) is larger than your specified limit of 500
-    lines...
+    The size of the diff (800 lines) is larger than your specified limit of
+    500 lines...
 
 And everything for mark:
 
@@ -511,7 +511,9 @@ something like this:
     From: Sample Person <test@xxxxxxxxxxxxx>
     Subject: [Branch ~name12/firefox/new-name]
         Name: main => new-name
-        Branch URL: http://bazaar.example.com/mozilla@xxxxxxxxxxxxxxx/mozilla--MAIN--0 => http://example.com/foo
+        Branch URL:
+        http://bazaar.example.com/mozilla@xxxxxxxxxxxxxxx/mozilla--MAIN--0 =>
+        http://example.com/foo
         Status: Development => Experimental
     <BLANKLINE>
     <BLANKLINE>
diff --git a/lib/lp/code/stories/branches/xx-branch-listings.txt b/lib/lp/code/stories/branches/xx-branch-listings.txt
index 3346713..ccd2bb5 100644
--- a/lib/lp/code/stories/branches/xx-branch-listings.txt
+++ b/lib/lp/code/stories/branches/xx-branch-listings.txt
@@ -102,7 +102,8 @@ subset of the branches are shown.
     >>> filter_control.displayValue
     ['Any active status']
     >>> filter_control.displayOptions
-    ['Any active status', 'Any status', 'Experimental', 'Development', 'Mature', 'Merged', 'Abandoned']
+    ['Any active status', 'Any status', 'Experimental', 'Development',
+     'Mature', 'Merged', 'Abandoned']
 
 Changing the value of the select control will (in a javascript
 enabled browser) cause the form to be submitted automatically.
@@ -361,11 +362,11 @@ Finally, sorting by a particular criterion has the desired effect.
     ...     print(extract_text(row))
     A development focus ...
     lp://dev/~name12/gnome-terminal/2.6             Mature          ...
-    lp://dev/~vcs-imports/gnome-terminal/import     Development             ...
+    lp://dev/~vcs-imports/gnome-terminal/import     Development     ...
     lp://dev/~name12/gnome-terminal/klingon         Experimental    ...
-    lp://dev/~launchpad/gnome-terminal/launchpad    Development             ...
+    lp://dev/~launchpad/gnome-terminal/launchpad    Development     ...
     lp://dev/~name12/gnome-terminal/main            Development     ...
-    lp://dev/~name12/gnome-terminal/mirrored        Development             ...
+    lp://dev/~name12/gnome-terminal/mirrored        Development     ...
 
 
 Highlighting the development focus branch
@@ -452,7 +453,8 @@ subset of the branches are shown.
     >>> filter_control.displayValue
     ['Any active status']
     >>> filter_control.displayOptions
-    ['Any active status', 'Any status', 'Experimental', 'Development', 'Mature', 'Merged', 'Abandoned']
+    ['Any active status', 'Any status', 'Experimental', 'Development',
+     'Mature', 'Merged', 'Abandoned']
 
 Selecting an individual lifecycle status from the select control
 will cause only branches with that status to be listed.
diff --git a/lib/lp/code/stories/codeimport/xx-failing-codeimport.txt b/lib/lp/code/stories/codeimport/xx-failing-codeimport.txt
index ec26e7f..e041067 100644
--- a/lib/lp/code/stories/codeimport/xx-failing-codeimport.txt
+++ b/lib/lp/code/stories/codeimport/xx-failing-codeimport.txt
@@ -25,7 +25,8 @@ This is shown on the branch index page:
     ...     'http://code.launchpad.test/~import-owner/imported/trunk')
     >>> print(extract_text(
     ...     find_tag_by_id(user_browser.contents, 'failing-try-again')))
-    The import has been suspended because it failed 5 or more times in succession.
+    The import has been suspended because it failed 5 or more times in
+    succession.
 
 Any logged in user will also see a button that can request the import
 be tried again.
diff --git a/lib/lp/code/stories/webservice/xx-branch-links.txt b/lib/lp/code/stories/webservice/xx-branch-links.txt
index 67fd9f1..4416b72 100644
--- a/lib/lp/code/stories/webservice/xx-branch-links.txt
+++ b/lib/lp/code/stories/webservice/xx-branch-links.txt
@@ -62,7 +62,8 @@ A spec can be linked to a branch through the API.
     branch_link: 'http://.../~prime/cybertron/robots'
     registrant_link: 'http://.../~salgado'
     resource_type_link: 'http://.../#specification_branch'
-    self_link: 'http://.../product-name.../+spec/name.../+branch/prime/cybertron/robots'
+    self_link:
+     'http://.../product-name.../+spec/name.../+branch/prime/cybertron/robots'
     specification_link: 'http://.../product-name.../+spec/name...'
 
 
diff --git a/lib/lp/code/stories/webservice/xx-branch.txt b/lib/lp/code/stories/webservice/xx-branch.txt
index 609212e..a2fdda7 100644
--- a/lib/lp/code/stories/webservice/xx-branch.txt
+++ b/lib/lp/code/stories/webservice/xx-branch.txt
@@ -112,12 +112,14 @@ time goes on.
     control_format: None
     date_created: '2009-01-01T00:00:00+00:00'
     date_last_modified: '2009-01-01T00:00:00+00:00'
-    dependent_branches_collection_link: '.../~eric/fooix/trunk/dependent_branches'
+    dependent_branches_collection_link:
+      '.../~eric/fooix/trunk/dependent_branches'
     description: None
     display_name: 'lp://dev/~eric/fooix/trunk'
     explicitly_private: False
     information_type: 'Public'
-    landing_candidates_collection_link: '.../~eric/fooix/trunk/landing_candidates'
+    landing_candidates_collection_link:
+      '.../~eric/fooix/trunk/landing_candidates'
     landing_targets_collection_link: '.../~eric/fooix/trunk/landing_targets'
     last_mirror_attempt: None
     last_mirrored: None
@@ -140,7 +142,8 @@ time goes on.
     sourcepackage_link: None
     spec_links_collection_link: '.../~eric/fooix/trunk/spec_links'
     subscribers_collection_link: 'http://.../~eric/fooix/trunk/subscribers'
-    subscriptions_collection_link: 'http://.../~eric/fooix/trunk/subscriptions'
+    subscriptions_collection_link:
+      'http://.../~eric/fooix/trunk/subscriptions'
     unique_name: '~eric/fooix/trunk'
     url: None
     web_link: 'http://code.../~eric/fooix/trunk'
diff --git a/lib/lp/code/stories/webservice/xx-branchmergeproposal.txt b/lib/lp/code/stories/webservice/xx-branchmergeproposal.txt
index b6f433a..b2cd714 100644
--- a/lib/lp/code/stories/webservice/xx-branchmergeproposal.txt
+++ b/lib/lp/code/stories/webservice/xx-branchmergeproposal.txt
@@ -102,12 +102,14 @@ Our review request is listed in the votes collection.
     >>> votes = webservice.get(
     ...     bmp['votes_collection_link']).jsonBody()
     >>> pprint_entry(votes['entries'][0])
-    branch_merge_proposal_link: 'http://api.launchpad.test/devel/~.../+merge/...'
+    branch_merge_proposal_link:
+      'http://api.launchpad.test/devel/~.../+merge/...'
     comment_link: None
     date_created: '...'
     is_pending: True
     registrant_link: 'http://api.launchpad.test/devel/~person-name...'
-    resource_type_link: 'http://api.launchpad.test/devel/#code_review_vote_reference'
+    resource_type_link:
+      'http://api.launchpad.test/devel/#code_review_vote_reference'
     review_type: 'green'
     reviewer_link: 'http://api.launchpad.test/devel/~person-name...'
     self_link: 'http://api.launchpad.test/devel/~...'
@@ -211,7 +213,8 @@ The comments on a branch merge proposal are exposed through the API.
     resource_type_link: 'http://.../#code_review_comment'
     revisions_collection_link: 'http://...'
     self_link: 'http://.../~source/fooix/fix-it/+merge/.../comments/...'
-    title: 'Comment on proposed merge of lp://dev/~source/fooix/fix-it into lp://dev/~target/fooix/trunk'
+    title: 'Comment on proposed merge of lp://dev/~source/fooix/fix-it into
+            lp://dev/~target/fooix/trunk'
     vote: 'Approve'
     vote_tag: 'code'
     web_link: 'http://code.../~source/fooix/fix-it/+merge/.../comments/...'
diff --git a/lib/lp/coop/answersbugs/stories/question-makebug.txt b/lib/lp/coop/answersbugs/stories/question-makebug.txt
index 0399135..bafcbf3 100644
--- a/lib/lp/coop/answersbugs/stories/question-makebug.txt
+++ b/lib/lp/coop/answersbugs/stories/question-makebug.txt
@@ -57,7 +57,8 @@ questions' portlet:
     >>> portlet = find_portlet(browser.contents, 'Related questions')
     >>> for question in portlet.find_all('li', 'question-row'):
     ...     print(question.decode_contents())
-    <span class="sprite question">Mozilla Firefox</span>: ...<a href=".../firefox/+question/2">Problem...
+    <span class="sprite question">Mozilla Firefox</span>:
+    ...<a href=".../firefox/+question/2">Problem...
 
 A user can't create a bug report when a question has already a bug linked
 to it.
diff --git a/lib/lp/registry/browser/tests/project-add-views.txt b/lib/lp/registry/browser/tests/project-add-views.txt
index 565dcf3..baf4ab5 100644
--- a/lib/lp/registry/browser/tests/project-add-views.txt
+++ b/lib/lp/registry/browser/tests/project-add-views.txt
@@ -182,4 +182,4 @@ that's checked for duplicates is the 'name' field.
     >>> for error in view.errors:
     ...     print(error)
     ('name', 'URL',
-     LaunchpadValidationError(...'snowdog is already used by another project'))
+     LaunchpadValidationError('snowdog is already used by another project'))
diff --git a/lib/lp/registry/doc/distribution-mirror.txt b/lib/lp/registry/doc/distribution-mirror.txt
index 1e57fe2..29c35dc 100644
--- a/lib/lp/registry/doc/distribution-mirror.txt
+++ b/lib/lp/registry/doc/distribution-mirror.txt
@@ -681,7 +681,8 @@ is correct.
     >>> print(stdout)
     <BLANKLINE>
     >>> print(stderr)
-    INFO    Creating lockfile: /var/lock/launchpad-distributionmirror-prober.lock
+    INFO    Creating lockfile:
+            /var/lock/launchpad-distributionmirror-prober.lock
     INFO    Probing Archive Mirrors
     INFO    Probed 5 mirrors.
     INFO    Starting to update mirrors statuses outside reactor now.
@@ -696,7 +697,8 @@ is correct.
     >>> print(stdout)
     <BLANKLINE>
     >>> print(stderr)
-    INFO    Creating lockfile: /var/lock/launchpad-distributionmirror-prober.lock
+    INFO    Creating lockfile:
+            /var/lock/launchpad-distributionmirror-prober.lock
     INFO    Probing CD Image Mirrors
     INFO    Probed 4 mirrors.
     INFO    Starting to update mirrors statuses outside reactor now.
@@ -713,7 +715,8 @@ probed again.
     >>> print(stdout)
     <BLANKLINE>
     >>> print(stderr)
-    INFO    Creating lockfile: /var/lock/launchpad-distributionmirror-prober.lock
+    INFO    Creating lockfile:
+            /var/lock/launchpad-distributionmirror-prober.lock
     INFO    Probing CD Image Mirrors
     INFO    No mirrors to probe.
     INFO    Done.
@@ -726,7 +729,8 @@ all official mirrors independently if they were probed recently or not.
     >>> print(stdout)
     <BLANKLINE>
     >>> print(stderr)
-    INFO    Creating lockfile: /var/lock/launchpad-distributionmirror-prober.lock
+    INFO    Creating lockfile:
+            /var/lock/launchpad-distributionmirror-prober.lock
     INFO    Probing CD Image Mirrors
     INFO    Probed 4 mirrors.
     INFO    Starting to update mirrors statuses outside reactor now.
@@ -746,7 +750,8 @@ we'll enable them again.
     >>> transaction.commit()
     >>> prober, stdout, stderr = run_prober('--content-type=cdimage --force')
     >>> print(stderr)
-    INFO    Creating lockfile: /var/lock/launchpad-distributionmirror-prober.lock
+    INFO    Creating lockfile:
+            /var/lock/launchpad-distributionmirror-prober.lock
     INFO    Probing CD Image Mirrors
     INFO    Probed 4 mirrors.
     INFO    Starting to update mirrors statuses outside reactor now.
diff --git a/lib/lp/registry/doc/standing.txt b/lib/lp/registry/doc/standing.txt
index 9225c9f..f337a4a 100644
--- a/lib/lp/registry/doc/standing.txt
+++ b/lib/lp/registry/doc/standing.txt
@@ -242,7 +242,8 @@ standing untouched.
     >>> print(stdout)
     <BLANKLINE>
     >>> print(stderr)
-    INFO    Creating lockfile: /var/lock/launchpad-update-personal-standing.lock
+    INFO    Creating lockfile:
+            /var/lock/launchpad-update-personal-standing.lock
     INFO    Updating personal standings
     INFO    Done.
     <BLANKLINE>
@@ -273,7 +274,8 @@ update-standing script bumps his standing to Good too.
     >>> print(stdout)
     <BLANKLINE>
     >>> print(stderr)
-    INFO    Creating lockfile: /var/lock/launchpad-update-personal-standing.lock
+    INFO    Creating lockfile:
+            /var/lock/launchpad-update-personal-standing.lock
     INFO    Updating personal standings
     INFO    Done.
     <BLANKLINE>
diff --git a/lib/lp/registry/stories/announcements/xx-announcements.txt b/lib/lp/registry/stories/announcements/xx-announcements.txt
index df2535e..a1a704c 100644
--- a/lib/lp/registry/stories/announcements/xx-announcements.txt
+++ b/lib/lp/registry/stories/announcements/xx-announcements.txt
@@ -639,7 +639,8 @@ domain.
     >>> links = parse_links(nopriv_browser.contents, rel='self')
     >>> for link in links:
     ...     print(link)
-    <link href="http://feeds.launchpad.test/netapplet/announcements.atom"; rel="self"/>
+    <link href="http://feeds.launchpad.test/netapplet/announcements.atom";
+          rel="self"/>
 
     >>> for id_ in parse_ids(nopriv_browser.contents):
     ...     print(extract_text(id_))
@@ -703,7 +704,8 @@ products.
     >>> links = parse_links(nopriv_browser.contents, rel='self')
     >>> for link in links:
     ...     print(link)
-    <link href="http://feeds.launchpad.test/apache/announcements.atom"; rel="self"/>
+    <link href="http://feeds.launchpad.test/apache/announcements.atom";
+          rel="self"/>
 
 Finally, there is a feed for all announcements across all projects
 hosted in Launchpad:
diff --git a/lib/lp/registry/stories/gpg-coc/xx-gpg-coc.txt b/lib/lp/registry/stories/gpg-coc/xx-gpg-coc.txt
index f44b232..09342e8 100644
--- a/lib/lp/registry/stories/gpg-coc/xx-gpg-coc.txt
+++ b/lib/lp/registry/stories/gpg-coc/xx-gpg-coc.txt
@@ -285,8 +285,9 @@ A419AE861E88BC9E04B9C26FBA2B9389DFD20543:
     >>> browser.getControl('Continue').click()
     >>> print_feedback_messages(browser.contents)
     There is 1 error.
-    The key used to sign the content (A419AE861E88BC9E04B9C26FBA2B9389DFD20543)
-    is not the key you were registering
+    The key used to sign the content
+    (A419AE861E88BC9E04B9C26FBA2B9389DFD20543) is not the key you were
+    registering
 
 If they sign the text correctly, they are redirected to their home page.
 
@@ -502,7 +503,8 @@ Now they'll request their key to be reactivated.
     >>> soup = find_main_content(browser.contents)
     >>> for tag in soup('p', 'informational message'):
     ...     print(tag.decode_contents())
-    A message has been sent to test@xxxxxxxxxxxxx with instructions to reactivate...
+    A message has been sent to test@xxxxxxxxxxxxx with instructions to
+    reactivate...
 
 
 Get the token from the body of the email sent.
diff --git a/lib/lp/registry/stories/mailinglists/lifecycle.txt b/lib/lp/registry/stories/mailinglists/lifecycle.txt
index 1d7797e..7e9b39d 100644
--- a/lib/lp/registry/stories/mailinglists/lifecycle.txt
+++ b/lib/lp/registry/stories/mailinglists/lifecycle.txt
@@ -30,7 +30,8 @@ They think for a second whether their mailing list is for Ubuntu or not.
     >>> print(browser.title)
     Landscape Developers in Launchpad
     >>> print_feedback_messages(browser.contents)
-    The mailing list is being created and will be available for use in a few minutes.
+    The mailing list is being created and will be available for use in a few
+    minutes.
 
 Once the mailing list is created, the button to create it is not shown
 anymore.
diff --git a/lib/lp/registry/stories/productrelease/xx-productrelease-view.txt b/lib/lp/registry/stories/productrelease/xx-productrelease-view.txt
index 3a8d23e..0600020 100644
--- a/lib/lp/registry/stories/productrelease/xx-productrelease-view.txt
+++ b/lib/lp/registry/stories/productrelease/xx-productrelease-view.txt
@@ -32,7 +32,8 @@ release. Each file is linked.
 There is an link about how to verify downloaded files.
 
     >>> anon_browser.getLink('How do I verify a download?')
-    <Link ... url='http://launchpad.test/+help-registry/verify-downloads.html'>
+    <Link ...
+    url='http://launchpad.test/+help-registry/verify-downloads.html'>
 
 If the file had been downloaded, we'd see the number of times it was
 downloaded and the date of the last download on that table as well.
diff --git a/lib/lp/registry/stories/productseries/xx-productseries-index.txt b/lib/lp/registry/stories/productseries/xx-productseries-index.txt
index 55724b4..c806130 100644
--- a/lib/lp/registry/stories/productseries/xx-productseries-index.txt
+++ b/lib/lp/registry/stories/productseries/xx-productseries-index.txt
@@ -120,7 +120,8 @@ in each Ubuntu series.
     Ubuntu Warty mozilla-firefox
 
     >>> anon_browser.getLink('Ubuntu Warty mozilla-firefox')
-    <Link ... url='http://launchpad.test/ubuntu/warty/+source/mozilla-firefox'>
+    <Link ...
+          url='http://launchpad.test/ubuntu/warty/+source/mozilla-firefox'>
 
 If there are no sourcepackages, any user can see there are none:
 
diff --git a/lib/lp/registry/stories/team-polls/xx-poll-condorcet-voting.txt b/lib/lp/registry/stories/team-polls/xx-poll-condorcet-voting.txt
index 48bfe44..14bc493 100644
--- a/lib/lp/registry/stories/team-polls/xx-poll-condorcet-voting.txt
+++ b/lib/lp/registry/stories/team-polls/xx-poll-condorcet-voting.txt
@@ -22,11 +22,8 @@
     ...
     ...You must enter your vote key...
     ...This is a secret poll...
-    ...your vote is identified only by the key you...
-    ...were given when you voted. To view or change your vote you must enter...
-    ...your key:...
-    ...
-
+    your vote is identified only by the key you were given when you voted. To
+    view or change your vote you must enter your key:...
 
   If a non-member (Sample Person) guesses the voting URL and tries to vote,
   they won't be allowed.
diff --git a/lib/lp/services/webapp/tests/login.txt b/lib/lp/services/webapp/tests/login.txt
index 156b5d2..6bac77f 100644
--- a/lib/lp/services/webapp/tests/login.txt
+++ b/lib/lp/services/webapp/tests/login.txt
@@ -6,8 +6,9 @@ Launchpad is an OpenID Relying Party that uses the Login Service as its fixed
 OpenID Provider. Because of that, when a user clicks the 'Log in / Register'
 link, they'll be sent to the OP to authenticate.
 
-    # Set handleErrors to True so that the Unauthorized exception is handled
-    # by the publisher and we get redirected to the +login page.
+Set handleErrors to True so that the Unauthorized exception is handled by
+the publisher and we get redirected to the +login page.
+
     >>> from lp.testing.browser import Browser
     >>> from lp.testing.layers import BaseLayer
     >>> root_url = BaseLayer.appserver_root_url()
@@ -17,9 +18,10 @@ link, they'll be sent to the OP to authenticate.
     ...     '%s/people/?name=foo&searchfor=all' % root_url)
     >>> browser.getLink('Log in / Register').click()
 
-    # On a browser with JS support, this page would've been automatically
-    # submitted (thanks to the onload handler), but testbrowser doesn't support
-    # JS, so we have to submit the form manually.
+On a browser with JS support, this page would've been automatically
+submitted (thanks to the onload handler), but testbrowser doesn't support
+JS, so we have to submit the form manually.
+
     >>> print(browser.contents)
     <html>...<body onload="document.forms[0].submit();"...
     >>> browser.getControl('Continue').click()
diff --git a/lib/lp/soyuz/browser/tests/binarypackagerelease-views.txt b/lib/lp/soyuz/browser/tests/binarypackagerelease-views.txt
index 9b8e4de..d6ef9c6 100644
--- a/lib/lp/soyuz/browser/tests/binarypackagerelease-views.txt
+++ b/lib/lp/soyuz/browser/tests/binarypackagerelease-views.txt
@@ -51,7 +51,8 @@ should be rendered for this dependency.
     >>> for dep in pmount_deps:
     ...    print(pretty((dep.name, dep.operator, dep.version, dep.url)))
     ('at', '>=', '3.14156', 'http://launchpad.test/ubuntu/hoary/i386/at')
-    ('linux-2.6.12', None, '', 'http://launchpad.test/ubuntu/hoary/i386/linux-2.6.12')
+    ('linux-2.6.12', None, '',
+     'http://launchpad.test/ubuntu/hoary/i386/linux-2.6.12')
     ('tramp-package', None, '', None)
 
 Other relationship groups use the same mechanism.
diff --git a/lib/lp/soyuz/doc/gina-multiple-arch.txt b/lib/lp/soyuz/doc/gina-multiple-arch.txt
index 727df8a..0bcc976 100644
--- a/lib/lp/soyuz/doc/gina-multiple-arch.txt
+++ b/lib/lp/soyuz/doc/gina-multiple-arch.txt
@@ -83,8 +83,10 @@ Let's set up the filesystem:
     ...     gina_proc, stderr=subprocess.PIPE, universal_newlines=True)
     >>> print(proc.stderr.read())
     WARNING ...
-    WARNING No source package bdftopcf (0.99.0-1) listed for bdftopcf (0.99.0-1), scrubbing archive...
-    WARNING The archive for dapper-updates/universe doesn't contain a directory for powerpc, skipping
+    WARNING No source package bdftopcf (0.99.0-1) listed for bdftopcf
+            (0.99.0-1), scrubbing archive...
+    WARNING The archive for dapper-updates/universe doesn't contain a
+            directory for powerpc, skipping
     <BLANKLINE>
     >>> proc.wait()
     0
diff --git a/lib/lp/soyuz/doc/gina.txt b/lib/lp/soyuz/doc/gina.txt
index 1c991ea..894c39f 100644
--- a/lib/lp/soyuz/doc/gina.txt
+++ b/lib/lp/soyuz/doc/gina.txt
@@ -154,11 +154,14 @@ Check STDERR for the errors we expected:
     WARNING Binary package python-pam lacks a section, assumed 'misc'
     ERROR   Error processing package files for python2.4-pam
     ...
-    ...PoolFileNotFound: .../python2.4-pam_0.4.2-10.1ubuntu3_i386.deb not found
+    ...PoolFileNotFound: .../python2.4-pam_0.4.2-10.1ubuntu3_i386.deb not
+    found
     ERROR   Error processing package files for python2.4-sqlite
     ...
-    ...PoolFileNotFound: .../python2.4-sqlite_1.0.1-1ubuntu1_i386.deb not found
-    WARNING No source package rioutil (1.4.4-1.0.1) listed for rioutil (1.4.4-1.0.1), scrubbing archive...
+    ...PoolFileNotFound: .../python2.4-sqlite_1.0.1-1ubuntu1_i386.deb not
+    found
+    WARNING No source package rioutil (1.4.4-1.0.1) listed for rioutil
+            (1.4.4-1.0.1), scrubbing archive...
     WARNING Nope, couldn't find it. Could it be a bin-only-NMU? Checking...
     ERROR   Error processing package files for util-linux
     ...
@@ -180,7 +183,8 @@ Check STDERR for the errors we expected:
     ERROR   Error processing package files for python-sqlite
     ...
     ...PoolFileNotFound: .../python-sqlite_1.0.1-2ubuntu1_all.deb not found
-    WARNING No source package ubuntu-meta (0.80) listed for ubuntu-base (0.80), scrubbing archive...
+    WARNING No source package ubuntu-meta (0.80) listed for ubuntu-base
+            (0.80), scrubbing archive...
     <BLANKLINE>
 
 The exit status must be 0, for success:
@@ -549,10 +553,12 @@ run.
     WARNING Binary package python-pam lacks a section, assumed 'misc'
     ERROR   Error processing package files for python2.4-pam
     ...
-    ...PoolFileNotFound: .../python2.4-pam_0.4.2-10.1ubuntu3_i386.deb not found
+    ...PoolFileNotFound: .../python2.4-pam_0.4.2-10.1ubuntu3_i386.deb not
+    found
     ERROR   Error processing package files for python2.4-sqlite
     ...
-    ...PoolFileNotFound: .../python2.4-sqlite_1.0.1-1ubuntu1_i386.deb not found
+    ...PoolFileNotFound: .../python2.4-sqlite_1.0.1-1ubuntu1_i386.deb not
+    found
     ERROR   Error processing package files for util-linux
     ...
     ...PoolFileNotFound: .../util-linux_2.12p-2ubuntu2_i386.deb not found
diff --git a/lib/lp/soyuz/doc/package-relationship.txt b/lib/lp/soyuz/doc/package-relationship.txt
index 56ec8ae..8498d3b 100644
--- a/lib/lp/soyuz/doc/package-relationship.txt
+++ b/lib/lp/soyuz/doc/package-relationship.txt
@@ -56,7 +56,8 @@ So we need to massage its result into the form we prefer:
     ...         yield rel['name'], version, operator
     >>> parsed_relationships = list(parse_relations(relationship_line))
     >>> parsed_relationships
-    [('gcc-3.4-base', '', ''), ('libc6', '2.3.2.ds1-4', '>='), ('gcc-3.4', '3.4.1-4sarge1', '=')]
+    [('gcc-3.4-base', '', ''), ('libc6', '2.3.2.ds1-4', '>='),
+     ('gcc-3.4', '3.4.1-4sarge1', '=')]
 
 Now for each parsed element we can build an IPackageRelationship:
 
diff --git a/lib/lp/soyuz/stories/distribution/xx-distribution-packages.txt b/lib/lp/soyuz/stories/distribution/xx-distribution-packages.txt
index 4f30fa7..ed11d99 100644
--- a/lib/lp/soyuz/stories/distribution/xx-distribution-packages.txt
+++ b/lib/lp/soyuz/stories/distribution/xx-distribution-packages.txt
@@ -159,7 +159,8 @@ The page has an appropriate title and main heading.
     * Code - http://code.launchpad.test/ubuntu/+source/iceweasel
     * Bugs - http://bugs.launchpad.test/ubuntu/+source/iceweasel
     * Blueprints - not linked
-    * Translations - http://translations.launchpad.test/ubuntu/+source/iceweasel
+    * Translations -
+      http://translations.launchpad.test/ubuntu/+source/iceweasel
     * Answers - http://answers.launchpad.test/ubuntu/+source/iceweasel
     Main heading: iceweasel package in Ubuntu
 
@@ -553,7 +554,8 @@ source package hierarchy.
     * Code - http://code.launchpad.test/ubuntu/+source/alsa-utils
     * Bugs - http://bugs.launchpad.test/ubuntu/+source/alsa-utils
     * Blueprints - not linked
-    * Translations - http://translations.launchpad.test/ubuntu/+source/alsa-utils
+    * Translations -
+      http://translations.launchpad.test/ubuntu/+source/alsa-utils
     * Answers - http://answers.launchpad.test/ubuntu/+source/alsa-utils
     Main heading: Publishing history of alsa-utils package in Ubuntu
 
diff --git a/lib/lp/soyuz/stories/packaging/package-pages-navigation.txt b/lib/lp/soyuz/stories/packaging/package-pages-navigation.txt
index caf14f7..8c11318 100644
--- a/lib/lp/soyuz/stories/packaging/package-pages-navigation.txt
+++ b/lib/lp/soyuz/stories/packaging/package-pages-navigation.txt
@@ -24,7 +24,8 @@ pages.
     * Code - http://code.launchpad.test/ubuntu/+source/alsa-utils
     * Bugs - http://bugs.launchpad.test/ubuntu/+source/alsa-utils
     * Blueprints - not linked
-    * Translations - http://translations.launchpad.test/ubuntu/+source/alsa-utils
+    * Translations -
+      http://translations.launchpad.test/ubuntu/+source/alsa-utils
     * Answers - http://answers.launchpad.test/ubuntu/+source/alsa-utils
     Main heading: alsa-utils package in Ubuntu
 
@@ -37,7 +38,8 @@ pages.
     * Code - http://code.launchpad.test/ubuntu/+source/alsa-utils
     * Bugs (selected) - not linked
     * Blueprints - not linked
-    * Translations - http://translations.launchpad.test/ubuntu/+source/alsa-utils
+    * Translations -
+      http://translations.launchpad.test/ubuntu/+source/alsa-utils
     * Answers - http://answers.launchpad.test/ubuntu/+source/alsa-utils
     Main heading: (No main heading)
 
@@ -59,7 +61,8 @@ source package.
     * Code - http://code.launchpad.test/ubuntu/+source/alsa-utils
     * Bugs - http://bugs.launchpad.test/ubuntu/+source/alsa-utils
     * Blueprints - not linked
-    * Translations - http://translations.launchpad.test/ubuntu/+source/alsa-utils
+    * Translations -
+      http://translations.launchpad.test/ubuntu/+source/alsa-utils
     * Answers - http://answers.launchpad.test/ubuntu/+source/alsa-utils
     Main heading: alsa-utils 1.0.9a-4ubuntu1 source package in Ubuntu
 
@@ -80,9 +83,11 @@ navigation as its parent distribution source package release.
     * Code - http://code.launchpad.test/ubuntu/+source/alsa-utils
     * Bugs - http://bugs.launchpad.test/ubuntu/+source/alsa-utils
     * Blueprints - not linked
-    * Translations - http://translations.launchpad.test/ubuntu/+source/alsa-utils
+    * Translations -
+      http://translations.launchpad.test/ubuntu/+source/alsa-utils
     * Answers - http://answers.launchpad.test/ubuntu/+source/alsa-utils
-    Main heading: i386 build of alsa-utils 1.0.9a-4ubuntu1 in ubuntu hoary RELEASE
+    Main heading: i386 build of alsa-utils 1.0.9a-4ubuntu1 in ubuntu hoary
+    RELEASE
 
 
 Distribution series source package
@@ -100,7 +105,8 @@ package's facets.
     * Code - http://code.launchpad.test/ubuntu/+source/alsa-utils
     * Bugs - http://bugs.launchpad.test/ubuntu/+source/alsa-utils
     * Blueprints - not linked
-    * Translations - http://translations.launchpad.test/ubuntu/+source/alsa-utils
+    * Translations -
+      http://translations.launchpad.test/ubuntu/+source/alsa-utils
     * Answers - http://answers.launchpad.test/ubuntu/+source/alsa-utils
     Main heading: alsa-utils source package in Hoary
 
diff --git a/lib/lp/soyuz/stories/ppa/xx-ppa-files.txt b/lib/lp/soyuz/stories/ppa/xx-ppa-files.txt
index 2c734be..99c2626 100644
--- a/lib/lp/soyuz/stories/ppa/xx-ppa-files.txt
+++ b/lib/lp/soyuz/stories/ppa/xx-ppa-files.txt
@@ -185,7 +185,8 @@ builds list is presented.
     >>> check_urls(no_priv_browser, builds_links,
     ...     'http://launchpad.test/~no-priv/+archive/ubuntu/p3a/+build/%d'
     ...     % build_id)
-    buildlog_ubuntutest-breezy-autotest-i386.test-pkg_1.0_FULLYBUILT.txt.gz: OK
+    buildlog_ubuntutest-breezy-autotest-i386.test-pkg_1.0_FULLYBUILT.txt.gz:
+    OK
 
     >>> no_priv_browser.open(
     ...     'http://launchpad.test/~no-priv/+archive/ubuntu/p3a/+packages')
diff --git a/lib/lp/soyuz/stories/ppa/xx-ppa-workflow.txt b/lib/lp/soyuz/stories/ppa/xx-ppa-workflow.txt
index 6c5f10f..d7a4200 100644
--- a/lib/lp/soyuz/stories/ppa/xx-ppa-workflow.txt
+++ b/lib/lp/soyuz/stories/ppa/xx-ppa-workflow.txt
@@ -275,7 +275,8 @@ Similarly to users, teams with active PPAs cannot be renamed either.
     >>> print(extract_text(
     ...     first_tag_by_class(sample_browser.contents, 'form')))
     Name: landscape-developers
-    This team has an active PPA with packages published and may not be renamed.
+    This team has an active PPA with packages published and may not be
+    renamed.
     ...
 
 
diff --git a/lib/lp/soyuz/stories/ppa/xx-ubuntu-ppas.txt b/lib/lp/soyuz/stories/ppa/xx-ubuntu-ppas.txt
index 94ba469..d8bce3c 100644
--- a/lib/lp/soyuz/stories/ppa/xx-ubuntu-ppas.txt
+++ b/lib/lp/soyuz/stories/ppa/xx-ubuntu-ppas.txt
@@ -588,7 +588,8 @@ help wiki are presented in the PPA index page.
     ...     anon_browser.contents, 'signing-key')
 
     >>> print(extract_text(signing_key_section))
-    Signing key: 1024D/ABCDEF0123456789ABCDDCBA0000111112345678 (What is this?)
+    Signing key: 1024D/ABCDEF0123456789ABCDDCBA0000111112345678
+                 (What is this?)
     Fingerprint: ABCDEF0123456789ABCDDCBA0000111112345678
 
 The key fingerprint links to the actual key available in the ubuntu
diff --git a/lib/lp/soyuz/stories/soyuz/xx-binarypackagerelease-index.txt b/lib/lp/soyuz/stories/soyuz/xx-binarypackagerelease-index.txt
index 4ca2f64..39f3f55 100644
--- a/lib/lp/soyuz/stories/soyuz/xx-binarypackagerelease-index.txt
+++ b/lib/lp/soyuz/stories/soyuz/xx-binarypackagerelease-index.txt
@@ -76,7 +76,8 @@ links to a binary in the context in question.
     ...     parse_relationship_section(str(section))
 
     >>> print_relation('provides')
-    LINK: "mozilla-firefox" -> http://launchpad.test/ubuntu/warty/i386/mozilla-firefox
+    LINK: "mozilla-firefox" ->
+    http://launchpad.test/ubuntu/warty/i386/mozilla-firefox
 
     >>> print_relation('predepends')
     TEXT: "foo"
diff --git a/lib/lp/soyuz/stories/soyuz/xx-distributionsourcepackagerelease-pages.txt b/lib/lp/soyuz/stories/soyuz/xx-distributionsourcepackagerelease-pages.txt
index 14b37d6..4037117 100644
--- a/lib/lp/soyuz/stories/soyuz/xx-distributionsourcepackagerelease-pages.txt
+++ b/lib/lp/soyuz/stories/soyuz/xx-distributionsourcepackagerelease-pages.txt
@@ -47,11 +47,13 @@ they all point to the `DistributionSourcePackage` (parent) url.
     >>> print_location(anon_browser.contents)
     Hierarchy: ubuntutest > testing-dspr package
     Tabs:
-    * Overview (selected) - http://launchpad.test/ubuntutest/+source/testing-dspr
+    * Overview (selected) -
+      http://launchpad.test/ubuntutest/+source/testing-dspr
     * Code - http://code.launchpad.test/ubuntutest/+source/testing-dspr
     * Bugs - http://bugs.launchpad.test/ubuntutest/+source/testing-dspr
     * Blueprints - not linked
-    * Translations - http://translations.launchpad.test/ubuntutest/+source/testing-dspr
+    * Translations -
+      http://translations.launchpad.test/ubuntutest/+source/testing-dspr
     * Answers - http://answers.launchpad.test/ubuntutest/+source/testing-dspr
     Main heading: testing-dspr 1.0 source package in ubuntutest
 
diff --git a/lib/lp/soyuz/stories/soyuz/xx-private-builds.txt b/lib/lp/soyuz/stories/soyuz/xx-private-builds.txt
index c27ccad..c21f02a 100644
--- a/lib/lp/soyuz/stories/soyuz/xx-private-builds.txt
+++ b/lib/lp/soyuz/stories/soyuz/xx-private-builds.txt
@@ -320,13 +320,15 @@ Accessing the build page will now also work:
     ...     "http://launchpad.test/~cprov/+archive/ubuntu/p3a/+build/%s"; %
     ...     private_build_id)
     >>> print(anon_browser.title)
-    i386 build of privacy-test 666 : PPA named p3a for Celso Providelo : Celso Providelo
+    i386 build of privacy-test 666 : PPA named p3a for Celso Providelo : Celso
+    Providelo
 
     >>> browser.open(
     ...     "http://launchpad.test/~cprov/+archive/ubuntu/p3a/+build/%s"; %
     ...     private_build_id)
     >>> print(browser.title)
-    i386 build of privacy-test 666 : PPA named p3a for Celso Providelo : Celso Providelo
+    i386 build of privacy-test 666 : PPA named p3a for Celso Providelo : Celso
+    Providelo
 
 Similarly, when accessing the distribution source package release page,
 the main content will display a link to the newly unembargoed build:
diff --git a/lib/lp/soyuz/stories/webservice/xx-archive.txt b/lib/lp/soyuz/stories/webservice/xx-archive.txt
index 47006ac..8ac9364 100644
--- a/lib/lp/soyuz/stories/webservice/xx-archive.txt
+++ b/lib/lp/soyuz/stories/webservice/xx-archive.txt
@@ -43,17 +43,20 @@ For "devel" additional attributes are available.
     >>> pprint_entry(cprov_archive_devel)
     authorized_size: 1024
     build_debug_symbols: False
-    dependencies_collection_link: 'http://.../~cprov/+archive/ubuntu/ppa/dependencies'
+    dependencies_collection_link:
+      'http://.../~cprov/+archive/ubuntu/ppa/dependencies'
     description: 'packages to help my friends.'
     displayname: 'PPA for Celso Providelo'
     distribution_link: 'http://.../ubuntu'
-    enabled_restricted_processors_collection_link: 'http://.../~cprov/+archive/ubuntu/ppa/enabled_restricted_processors'
+    enabled_restricted_processors_collection_link:
+      'http://.../~cprov/+archive/ubuntu/ppa/enabled_restricted_processors'
     external_dependencies: None
     name: 'ppa'
     owner_link: 'http://.../~cprov'
     permit_obsolete_series_uploads: False
     private: False
-    processors_collection_link: 'http://.../~cprov/+archive/ubuntu/ppa/processors'
+    processors_collection_link:
+      'http://.../~cprov/+archive/ubuntu/ppa/processors'
     publish_debug_symbols: False
     reference: '~cprov/ubuntu/ppa'
     relative_build_score: 0
@@ -1290,7 +1293,8 @@ We publish a subset of the IArchiveSubscriber attributes.
     self_link: 'http://api.../~cprov/+archive/ubuntu/p3a/+subscriptions/mark'
     status: 'Active'
     subscriber_link: 'http://api.launchpad.test/beta/~mark'
-    web_link: 'http://launchpad.../~cprov/+archive/ubuntu/p3a/+subscriptions/mark'
+    web_link:
+      'http://launchpad.../~cprov/+archive/ubuntu/p3a/+subscriptions/mark'
 
 Other webservice users cannot view the subscription.
 
diff --git a/lib/lp/translations/stories/distroseries/xx-distroseries-language-packs.txt b/lib/lp/translations/stories/distroseries/xx-distroseries-language-packs.txt
index 62ed7b8..10404e1 100644
--- a/lib/lp/translations/stories/distroseries/xx-distroseries-language-packs.txt
+++ b/lib/lp/translations/stories/distroseries/xx-distroseries-language-packs.txt
@@ -26,7 +26,8 @@ base language pack.
     >>> print(base.displayValue)
     ['(nothing selected)']
     >>> base.displayOptions
-    ['(nothing selected)', '2007-09-10 19:16:01 UTC', '2007-09-10 19:14:26 UTC']
+    ['(nothing selected)', '2007-09-10 19:16:01 UTC',
+     '2007-09-10 19:14:26 UTC']
     >>> delta = admin_browser.getControl('Language pack update')
     >>> print(delta.displayValue)
     ['(nothing selected)']
@@ -52,7 +53,8 @@ available update packages.
     >>> print(update.displayValue)
     ['(nothing selected)']
     >>> update.displayOptions
-    ['(nothing selected)', '2007-09-10 19:15:19 UTC', '2007-09-10 19:15:01 UTC']
+    ['(nothing selected)', '2007-09-10 19:15:19 UTC',
+     '2007-09-10 19:15:01 UTC']
 
 Those changes are shown in the public language pack listing web page:
 
diff --git a/lib/lp/translations/stories/importqueue/xx-translation-import-queue.txt b/lib/lp/translations/stories/importqueue/xx-translation-import-queue.txt
index 15c7a95..0dcbd93 100644
--- a/lib/lp/translations/stories/importqueue/xx-translation-import-queue.txt
+++ b/lib/lp/translations/stories/importqueue/xx-translation-import-queue.txt
@@ -99,7 +99,8 @@ to where we can edit imports.
     True
     >>> link = browser.getLink('Change this entry', index=2)
     >>> link
-    <Link text='Change this entry' url='http://translations.launchpad.test/+imports/...'>
+    <Link text='Change this entry'
+          url='http://translations.launchpad.test/+imports/...'>
     >>> qid = int(link.url.rsplit('/', 1)[-1])
     >>> browser.getControl(name='field.status_%d' % qid).displayValue
     ['Needs Review']
diff --git a/lib/lp/translations/stories/navigation-links/pofile.txt b/lib/lp/translations/stories/navigation-links/pofile.txt
index 351b23e..f99c3eb 100644
--- a/lib/lp/translations/stories/navigation-links/pofile.txt
+++ b/lib/lp/translations/stories/navigation-links/pofile.txt
@@ -37,5 +37,6 @@ The Application tabs should point to IDistributionSourcePackage URLs.
     * Code - http://code.launchpad.test/ubuntu/+source/evolution
     * Bugs - http://bugs.launchpad.test/ubuntu/+source/evolution
     * Blueprints - not linked
-    * Translations (selected) - http://translations.launchpad.test/ubuntu/+source/evolution
+    * Translations (selected) -
+      http://translations.launchpad.test/ubuntu/+source/evolution
     * Answers - http://answers.launchpad.test/ubuntu/+source/evolution
diff --git a/lib/lp/translations/stories/navigation-links/pomsgset.txt b/lib/lp/translations/stories/navigation-links/pomsgset.txt
index be7fe16..b703591 100644
--- a/lib/lp/translations/stories/navigation-links/pomsgset.txt
+++ b/lib/lp/translations/stories/navigation-links/pomsgset.txt
@@ -42,5 +42,6 @@ The Application tabs should point to ISourcePackage URLs.
     * Code - http://code.launchpad.test/ubuntu/+source/evolution
     * Bugs - http://bugs.launchpad.test/ubuntu/+source/evolution
     * Blueprints - not linked
-    * Translations (selected) - http://translations.launchpad.test/ubuntu/+source/evolution
+    * Translations (selected) -
+      http://translations.launchpad.test/ubuntu/+source/evolution
     * Answers - http://answers.launchpad.test/ubuntu/+source/evolution
diff --git a/lib/lp/translations/stories/navigation-links/potemplate.txt b/lib/lp/translations/stories/navigation-links/potemplate.txt
index bd2015f..0cee07a 100644
--- a/lib/lp/translations/stories/navigation-links/potemplate.txt
+++ b/lib/lp/translations/stories/navigation-links/potemplate.txt
@@ -34,5 +34,6 @@ The Application tabs should point to IDistributionSourcePackage URLs.
     * Code - http://code.launchpad.test/ubuntu/+source/evolution
     * Bugs - http://bugs.launchpad.test/ubuntu/+source/evolution
     * Blueprints - not linked
-    * Translations (selected) - http://translations.launchpad.test/ubuntu/+source/evolution
+    * Translations (selected) -
+      http://translations.launchpad.test/ubuntu/+source/evolution
     * Answers - http://answers.launchpad.test/ubuntu/+source/evolution
diff --git a/lib/lp/translations/stories/standalone/xx-pofile-translate-gettext-error-middle-page.txt b/lib/lp/translations/stories/standalone/xx-pofile-translate-gettext-error-middle-page.txt
index 010c251..e2368d9 100644
--- a/lib/lp/translations/stories/standalone/xx-pofile-translate-gettext-error-middle-page.txt
+++ b/lib/lp/translations/stories/standalone/xx-pofile-translate-gettext-error-middle-page.txt
@@ -46,8 +46,8 @@ And the error is noted in the page.
 
     >>> for tag in find_tags_by_class(browser.contents, 'error'):
     ...     print(tag)
-    <div class="error message">There is an error in a translation you provided.
-      Please correct it before continuing.</div>
+    <div class="error message">There is an error in a translation you
+      provided. Please correct it before continuing.</div>
     <tr class="error translation">
       <th colspan="3">
         <strong>Error in Translation:</strong>
@@ -55,7 +55,8 @@ And the error is noted in the page.
       <td></td>
       <td>
         <div>
-          format specifications in 'msgid' and 'msgstr' for argument 1 are not the same
+          format specifications in 'msgid' and 'msgstr' for argument 1 are not
+          the same
         </div>
       </td>
     </tr>
diff --git a/lib/lp/translations/stories/standalone/xx-pofile-translate-newlines-check.txt b/lib/lp/translations/stories/standalone/xx-pofile-translate-newlines-check.txt
index 1ee8394..4cef090 100644
--- a/lib/lp/translations/stories/standalone/xx-pofile-translate-newlines-check.txt
+++ b/lib/lp/translations/stories/standalone/xx-pofile-translate-newlines-check.txt
@@ -102,7 +102,8 @@ And, as we can see, we get the trailing new line char
     --
     <code>%s</code>: option `<code>%s</code>' is ambiguous...
     --
-    <code>%s</code>: la opcion «<code>%s</code>» es ambigua<img alt="" src="/@@/translation-newline"/><br/>
+    <code>%s</code>: la opcion «<code>%s</code>» es ambigua<img alt=""
+    src="/@@/translation-newline"/><br/>
     --
 
 Now, we do the right submit, with one trailing new line...
@@ -133,7 +134,8 @@ And, as we can see, we get the same output, just one trailing newline char.
     --
     <code>%s</code>: option `<code>%s</code>' is ambiguous...
     --
-    <code>%s</code>: la opcion «<code>%s</code>» es ambigua<img alt="" src="/@@/translation-newline"/><br/>
+    <code>%s</code>: la opcion «<code>%s</code>» es ambigua<img alt=""
+    src="/@@/translation-newline"/><br/>
     --
 
 Last check, the user sends two new line chars instead of just one...
@@ -164,5 +166,6 @@ And Launchpad comes to the rescue and stores just one!
     --
     <code>%s</code>: option `<code>%s</code>' is ambiguous...
     --
-    <code>%s</code>: la opcion «<code>%s</code>» es ambigua<img alt="" src="/@@/translation-newline"/><br/>
+    <code>%s</code>: la opcion «<code>%s</code>» es ambigua<img alt=""
+    src="/@@/translation-newline"/><br/>
     --
diff --git a/lib/lp/translations/utilities/doc/gettext_po_parser.txt b/lib/lp/translations/utilities/doc/gettext_po_parser.txt
index b6d933c..ab261be 100644
--- a/lib/lp/translations/utilities/doc/gettext_po_parser.txt
+++ b/lib/lp/translations/utilities/doc/gettext_po_parser.txt
@@ -478,7 +478,8 @@ we'll get a return matrix which indicates no change (so we import them as-is):
     >>> plural_form_mapper(form_1, 'n!=1')
     {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5}
 
-    # First form uses zero for both 0 and 1, compared to only 1 for the latter.
+First form uses zero for both 0 and 1, compared to only 1 for the latter.
+
     >>> plural_form_mapper('n>1', 'n!=1')
     {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5}