You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by tv...@apache.org on 2014/01/10 19:19:56 UTC

[32/32] git commit: PEP8 cleanup

PEP8 cleanup

Signed-off-by: Tim Van Steenburgh <tv...@gmail.com>


Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/c93733ac
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/c93733ac
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/c93733ac

Branch: refs/heads/master
Commit: c93733acb492b4c9238ac8ec32136bb95f1a87d9
Parents: 37ecc5e
Author: Tim Van Steenburgh <tv...@gmail.com>
Authored: Fri Jan 10 18:18:51 2014 +0000
Committer: Tim Van Steenburgh <tv...@gmail.com>
Committed: Fri Jan 10 18:18:51 2014 +0000

----------------------------------------------------------------------
 Allura/allura/app.py                            |   97 +-
 Allura/allura/command/base.py                   |   21 +-
 Allura/allura/command/create_neighborhood.py    |   23 +-
 .../allura/command/create_trove_categories.py   | 2770 ++++++++++++------
 Allura/allura/command/reclone_repo.py           |   14 +-
 Allura/allura/command/script.py                 |   17 +-
 .../allura/command/set_neighborhood_features.py |   31 +-
 Allura/allura/command/show_models.py            |  101 +-
 Allura/allura/command/smtp_server.py            |    6 +-
 Allura/allura/command/taskd.py                  |   40 +-
 Allura/allura/command/taskd_cleanup.py          |   52 +-
 Allura/allura/config/app_cfg.py                 |    3 +-
 Allura/allura/config/environment.py             |    3 +-
 Allura/allura/config/middleware.py              |   37 +-
 Allura/allura/config/resources.py               |    1 +
 Allura/allura/controllers/attachments.py        |   12 +-
 Allura/allura/controllers/auth.py               |  146 +-
 Allura/allura/controllers/base.py               |    2 +
 .../allura/controllers/basetest_project_root.py |   30 +-
 Allura/allura/controllers/discuss.py            |  147 +-
 Allura/allura/controllers/feed.py               |   11 +-
 Allura/allura/controllers/project.py            |  203 +-
 Allura/allura/controllers/repository.py         |  136 +-
 Allura/allura/controllers/rest.py               |   44 +-
 Allura/allura/controllers/root.py               |   23 +-
 Allura/allura/controllers/search.py             |   34 +-
 Allura/allura/controllers/site_admin.py         |   81 +-
 Allura/allura/controllers/static.py             |    2 +-
 Allura/allura/controllers/task.py               |    4 +-
 Allura/allura/controllers/template.py           |    3 +-
 Allura/allura/controllers/trovecategories.py    |   66 +-
 Allura/allura/eventslistener.py                 |   10 +-
 Allura/allura/ext/admin/admin_main.py           |  279 +-
 Allura/allura/ext/admin/widgets.py              |   80 +-
 Allura/allura/ext/project_home/project_main.py  |   22 +-
 Allura/allura/ext/search/search_main.py         |   24 +-
 Allura/allura/ext/user_profile/user_main.py     |   20 +-
 Allura/allura/lib/AsciiDammit.py                |  267 +-
 Allura/allura/lib/app_globals.py                |   82 +-
 Allura/allura/lib/async.py                      |    2 +
 Allura/allura/lib/base.py                       |    8 +-
 Allura/allura/lib/custom_middleware.py          |   66 +-
 Allura/allura/lib/decorators.py                 |   27 +-
 Allura/allura/lib/exceptions.py                 |   77 +-
 Allura/allura/lib/gravatar.py                   |   12 +-
 Allura/allura/lib/helpers.py                    |  166 +-
 Allura/allura/lib/macro.py                      |  137 +-
 Allura/allura/lib/mail_util.py                  |   45 +-
 Allura/allura/lib/markdown_extensions.py        |  123 +-
 Allura/allura/lib/oid_helper.py                 |   13 +-
 Allura/allura/lib/package_path_loader.py        |   24 +-
 Allura/allura/lib/patches.py                    |   20 +-
 Allura/allura/lib/plugin.py                     |  182 +-
 Allura/allura/lib/repository.py                 |   99 +-
 Allura/allura/lib/rest_api.py                   |   56 +-
 Allura/allura/lib/search.py                     |   42 +-
 Allura/allura/lib/security.py                   |   78 +-
 Allura/allura/lib/solr.py                       |    5 +-
 Allura/allura/lib/spam/__init__.py              |    2 +
 Allura/allura/lib/spam/akismetfilter.py         |   18 +-
 Allura/allura/lib/spam/mollomfilter.py          |    7 +-
 Allura/allura/lib/stats.py                      |    9 +-
 Allura/allura/lib/utils.py                      |   94 +-
 Allura/allura/lib/validators.py                 |   91 +-
 Allura/allura/lib/widgets/analytics.py          |    5 +-
 Allura/allura/lib/widgets/auth_widgets.py       |   19 +-
 Allura/allura/lib/widgets/discuss.py            |  213 +-
 Allura/allura/lib/widgets/form_fields.py        |  165 +-
 Allura/allura/lib/widgets/forms.py              |  274 +-
 Allura/allura/lib/widgets/macros.py             |   33 +-
 Allura/allura/lib/widgets/oauth_widgets.py      |   20 +-
 Allura/allura/lib/widgets/project_list.py       |   19 +-
 Allura/allura/lib/widgets/repo.py               |   39 +-
 Allura/allura/lib/widgets/search.py             |   14 +-
 Allura/allura/lib/widgets/subscriptions.py      |   50 +-
 Allura/allura/lib/widgets/user_profile.py       |    3 +-
 Allura/allura/lib/zarkov_helpers.py             |   12 +-
 Allura/allura/model/artifact.py                 |  186 +-
 Allura/allura/model/attachments.py              |   19 +-
 Allura/allura/model/auth.py                     |  332 ++-
 Allura/allura/model/discuss.py                  |   87 +-
 Allura/allura/model/filesystem.py               |   53 +-
 Allura/allura/model/index.py                    |   71 +-
 Allura/allura/model/monq_model.py               |   46 +-
 Allura/allura/model/neighborhood.py             |   77 +-
 Allura/allura/model/notification.py             |  265 +-
 Allura/allura/model/oauth.py                    |   47 +-
 Allura/allura/model/openid_model.py             |   28 +-
 Allura/allura/model/project.py                  |  322 +-
 Allura/allura/model/repo.py                     |  168 +-
 Allura/allura/model/repo_refresh.py             |  208 +-
 Allura/allura/model/repository.py               |  217 +-
 Allura/allura/model/session.py                  |   27 +-
 Allura/allura/model/stats.py                    |  184 +-
 Allura/allura/model/timeline.py                 |   14 +-
 Allura/allura/model/types.py                    |   10 +-
 Allura/allura/scripts/refresh_last_commits.py   |   78 +-
 Allura/allura/scripts/refreshrepo.py            |  121 +-
 Allura/allura/scripts/scripttask.py             |    4 +-
 Allura/allura/scripts/trac_export.py            |   60 +-
 Allura/allura/scripts/update_checkout_url.py    |    5 +-
 Allura/allura/tasks/admin_tasks.py              |    4 +-
 Allura/allura/tasks/event_tasks.py              |    2 +-
 Allura/allura/tasks/export_tasks.py             |   21 +-
 Allura/allura/tasks/index_tasks.py              |   11 +-
 Allura/allura/tasks/mail_tasks.py               |   46 +-
 Allura/allura/tasks/notification_tasks.py       |    1 +
 Allura/allura/tasks/repo_tasks.py               |   45 +-
 Allura/allura/tests/__init__.py                 |    2 +
 Allura/allura/tests/decorators.py               |   10 +-
 Allura/allura/tests/functional/__init__.py      |    2 +-
 Allura/allura/tests/functional/test_admin.py    |  764 ++---
 Allura/allura/tests/functional/test_auth.py     |  854 +++---
 Allura/allura/tests/functional/test_discuss.py  |  134 +-
 Allura/allura/tests/functional/test_feeds.py    |   29 +-
 Allura/allura/tests/functional/test_gravatar.py |    3 +-
 Allura/allura/tests/functional/test_home.py     |   23 +-
 .../tests/functional/test_neighborhood.py       |  297 +-
 Allura/allura/tests/functional/test_rest.py     |   76 +-
 .../tests/functional/test_rest_api_tickets.py   |    9 +-
 Allura/allura/tests/functional/test_root.py     |   82 +-
 Allura/allura/tests/functional/test_search.py   |    1 -
 .../allura/tests/functional/test_site_admin.py  |   32 +-
 Allura/allura/tests/functional/test_static.py   |    1 +
 .../tests/functional/test_user_profile.py       |   45 +-
 Allura/allura/tests/model/test_artifact.py      |   35 +-
 Allura/allura/tests/model/test_auth.py          |   57 +-
 Allura/allura/tests/model/test_discussion.py    |   67 +-
 Allura/allura/tests/model/test_filesystem.py    |   29 +-
 Allura/allura/tests/model/test_monq.py          |    4 +-
 Allura/allura/tests/model/test_neighborhood.py  |    5 +-
 Allura/allura/tests/model/test_notification.py  |  189 +-
 Allura/allura/tests/model/test_openid.py        |   17 +-
 Allura/allura/tests/model/test_project.py       |   17 +-
 Allura/allura/tests/model/test_repo.py          |  411 +--
 Allura/allura/tests/test_app.py                 |   15 +-
 Allura/allura/tests/test_commands.py            |  152 +-
 Allura/allura/tests/test_decorators.py          |    1 +
 Allura/allura/tests/test_diff.py                |    4 +-
 Allura/allura/tests/test_dispatch.py            |    6 +-
 Allura/allura/tests/test_globals.py             |  149 +-
 Allura/allura/tests/test_helpers.py             |  125 +-
 Allura/allura/tests/test_mail_util.py           |   69 +-
 Allura/allura/tests/test_markdown.py            |   37 +-
 Allura/allura/tests/test_plugin.py              |   24 +-
 Allura/allura/tests/test_scripttask.py          |    2 +
 Allura/allura/tests/test_security.py            |   59 +-
 Allura/allura/tests/test_tasks.py               |   78 +-
 Allura/allura/tests/test_utils.py               |   24 +-
 Allura/allura/tests/test_validators.py          |   14 +-
 Allura/allura/tests/test_zarkov_helpers.py      |   26 +-
 Allura/allura/tests/unit/__init__.py            |    1 +
 .../test_discussion_moderation_controller.py    |   10 +-
 Allura/allura/tests/unit/factories.py           |    3 +-
 Allura/allura/tests/unit/patches.py             |    1 -
 Allura/allura/tests/unit/spam/test_akismet.py   |   46 +-
 Allura/allura/tests/unit/spam/test_mollom.py    |   30 +-
 .../allura/tests/unit/spam/test_spam_filter.py  |    2 +
 Allura/allura/tests/unit/test_app.py            |    1 -
 .../allura/tests/unit/test_helpers/test_ago.py  |    8 +-
 .../tests/unit/test_helpers/test_set_context.py |   13 +-
 Allura/allura/tests/unit/test_mixins.py         |    4 +-
 .../tests/unit/test_package_path_loader.py      |  130 +-
 Allura/allura/tests/unit/test_project.py        |   12 +-
 Allura/allura/tests/unit/test_repo.py           |   45 +-
 Allura/allura/tests/unit/test_session.py        |    9 +-
 Allura/allura/tests/unit/test_sitemapentry.py   |    1 +
 Allura/allura/tests/unit/test_solr.py           |   33 +-
 Allura/allura/websetup/__init__.py              |    1 +
 Allura/allura/websetup/bootstrap.py             |  101 +-
 Allura/allura/websetup/schema.py                |    5 +-
 Allura/docs/conf.py                             |   18 +-
 Allura/ez_setup/__init__.py                     |   67 +-
 Allura/ldap-setup.py                            |   25 +-
 Allura/ldap-userconfig.py                       |    3 +
 Allura/setup.py                                 |   16 +-
 Allura/test-light.py                            |    7 +-
 AlluraTest/alluratest/controller.py             |   37 +-
 AlluraTest/alluratest/test_syntax.py            |   26 +-
 AlluraTest/alluratest/validation.py             |   34 +-
 AlluraTest/setup.py                             |    8 +-
 ForgeActivity/forgeactivity/config/resources.py |    1 +
 ForgeActivity/forgeactivity/main.py             |   79 +-
 .../forgeactivity/tests/functional/test_root.py |   59 +-
 ForgeActivity/forgeactivity/widgets/follow.py   |    4 +-
 ForgeActivity/setup.py                          |    3 +-
 ForgeBlog/forgeblog/command/base.py             |    1 +
 ForgeBlog/forgeblog/command/rssfeeds.py         |   37 +-
 ForgeBlog/forgeblog/main.py                     |   69 +-
 ForgeBlog/forgeblog/model/blog.py               |   74 +-
 .../forgeblog/tests/functional/test_rest.py     |   57 +-
 .../forgeblog/tests/functional/test_root.py     |   11 +-
 ForgeBlog/forgeblog/tests/test_app.py           |    9 +-
 ForgeBlog/forgeblog/tests/test_commands.py      |   53 +-
 ForgeBlog/forgeblog/tests/test_roles.py         |    3 +
 ForgeBlog/forgeblog/tests/unit/__init__.py      |   10 +-
 .../forgeblog/tests/unit/test_blog_post.py      |    7 +-
 ForgeBlog/forgeblog/widgets.py                  |   31 +-
 ForgeBlog/setup.py                              |    6 +-
 ForgeChat/forgechat/command.py                  |   38 +-
 ForgeChat/forgechat/main.py                     |   46 +-
 ForgeChat/forgechat/model/chat.py               |   15 +-
 ForgeChat/setup.py                              |    6 +-
 .../forgediscussion/controllers/forum.py        |   42 +-
 .../forgediscussion/controllers/root.py         |   64 +-
 ForgeDiscussion/forgediscussion/forum_main.py   |  106 +-
 .../forgediscussion/import_support.py           |   44 +-
 ForgeDiscussion/forgediscussion/model/forum.py  |   73 +-
 ForgeDiscussion/forgediscussion/tasks.py        |    2 +
 .../tests/functional/test_forum.py              |  329 ++-
 .../tests/functional/test_forum_admin.py        |  168 +-
 .../tests/functional/test_import.py             |   43 +-
 .../tests/functional/test_rest.py               |   21 +-
 .../forgediscussion/tests/test_app.py           |   14 +-
 .../forgediscussion/tests/test_forum_roles.py   |    3 +
 ForgeDiscussion/forgediscussion/utils.py        |   30 +-
 .../forgediscussion/widgets/admin.py            |   40 +-
 .../forgediscussion/widgets/forum_widgets.py    |  167 +-
 ForgeDiscussion/setup.py                        |    6 +-
 ForgeGit/forgegit/git_main.py                   |   26 +-
 ForgeGit/forgegit/model/git_repo.py             |  162 +-
 ForgeGit/forgegit/tests/__init__.py             |    2 +-
 ForgeGit/forgegit/tests/functional/test_auth.py |    7 +-
 .../tests/functional/test_controllers.py        |  135 +-
 .../forgegit/tests/model/test_repository.py     |  242 +-
 ForgeGit/forgegit/tests/test_git_app.py         |    1 +
 ForgeGit/forgegit/tests/test_tasks.py           |    4 +-
 ForgeGit/setup.py                               |    6 +-
 ForgeImporters/docs/conf.py                     |   18 +-
 ForgeImporters/forgeimporters/base.py           |  110 +-
 ForgeImporters/forgeimporters/forge/__init__.py |    1 -
 ForgeImporters/forgeimporters/forge/tracker.py  |  146 +-
 .../forgeimporters/github/__init__.py           |   33 +-
 ForgeImporters/forgeimporters/github/code.py    |   48 +-
 ForgeImporters/forgeimporters/github/project.py |   10 +-
 .../forgeimporters/github/tests/test_code.py    |   62 +-
 .../forgeimporters/github/tests/test_tracker.py |   18 +-
 .../forgeimporters/github/tests/test_wiki.py    |   82 +-
 ForgeImporters/forgeimporters/github/tracker.py |   98 +-
 ForgeImporters/forgeimporters/github/utils.py   |    8 +-
 ForgeImporters/forgeimporters/github/wiki.py    |   95 +-
 .../forgeimporters/google/__init__.py           |  140 +-
 ForgeImporters/forgeimporters/google/code.py    |   68 +-
 ForgeImporters/forgeimporters/google/project.py |    1 +
 .../forgeimporters/google/tests/__init__.py     |    1 -
 .../forgeimporters/google/tests/test_code.py    |   72 +-
 ForgeImporters/forgeimporters/google/tracker.py |  128 +-
 .../forgeimporters/tests/forge/__init__.py      |    1 -
 .../forgeimporters/tests/forge/test_tracker.py  |  367 +--
 .../forgeimporters/tests/github/__init__.py     |    1 -
 .../tests/github/functional/__init__.py         |    1 -
 .../tests/github/functional/test_github.py      |   13 +-
 .../tests/github/test_extractor.py              |   20 +-
 .../forgeimporters/tests/github/test_tracker.py |  136 +-
 .../forgeimporters/tests/google/__init__.py     |    1 -
 .../tests/google/functional/__init__.py         |    1 -
 .../tests/google/functional/test_tracker.py     |  358 +--
 .../tests/google/test_extractor.py              |  387 +--
 .../forgeimporters/tests/google/test_tracker.py |  322 +-
 .../forgeimporters/tests/test_base.py           |  141 +-
 ForgeImporters/forgeimporters/trac/__init__.py  |    1 -
 ForgeImporters/forgeimporters/trac/project.py   |    1 +
 .../forgeimporters/trac/tests/__init__.py       |    1 -
 .../forgeimporters/trac/tests/test_tickets.py   |  163 +-
 ForgeImporters/forgeimporters/trac/tickets.py   |   96 +-
 ForgeLink/forgelink/link_main.py                |   32 +-
 .../forgelink/tests/functional/test_rest.py     |   16 +-
 .../forgelink/tests/functional/test_root.py     |    2 +-
 ForgeLink/setup.py                              |    6 +-
 ForgeSVN/forgesvn/controllers.py                |    4 +-
 ForgeSVN/forgesvn/model/svn.py                  |  239 +-
 ForgeSVN/forgesvn/svn_main.py                   |   42 +-
 ForgeSVN/forgesvn/tests/__init__.py             |    2 +-
 ForgeSVN/forgesvn/tests/functional/test_auth.py |    8 +-
 .../tests/functional/test_controllers.py        |   38 +-
 .../forgesvn/tests/model/test_repository.py     |  276 +-
 .../tests/model/test_svnimplementation.py       |   28 +-
 ForgeSVN/forgesvn/tests/test_svn_app.py         |    1 +
 ForgeSVN/forgesvn/tests/test_tasks.py           |    6 +-
 ForgeSVN/setup.py                               |    6 +-
 ForgeShortUrl/forgeshorturl/main.py             |   11 +-
 ForgeShortUrl/forgeshorturl/model/shorturl.py   |   12 +-
 .../forgeshorturl/tests/functional/test.py      |   29 +-
 .../forgeshorturl/widgets/short_url.py          |    8 +-
 .../forgetracker/command/fix_discussion.py      |   20 +-
 ForgeTracker/forgetracker/config/resources.py   |    3 +-
 ForgeTracker/forgetracker/import_support.py     |   59 +-
 ForgeTracker/forgetracker/model/ticket.py       |  365 ++-
 ForgeTracker/forgetracker/plugins.py            |    1 -
 .../forgetracker/scripts/import_tracker.py      |   63 +-
 .../tests/command/test_fix_discussion.py        |    7 +-
 .../tests/functional/test_import.py             |   52 +-
 .../forgetracker/tests/functional/test_rest.py  |   82 +-
 .../forgetracker/tests/functional/test_root.py  | 1021 ++++---
 ForgeTracker/forgetracker/tests/test_app.py     |   10 +-
 .../forgetracker/tests/test_tracker_roles.py    |    4 +
 .../forgetracker/tests/unit/__init__.py         |   10 +-
 .../tests/unit/test_globals_model.py            |   23 +-
 .../tests/unit/test_milestone_controller.py     |    3 +-
 .../tests/unit/test_root_controller.py          |    7 +-
 .../unit/test_ticket_custom_fields_form.py      |    6 +-
 .../forgetracker/tests/unit/test_ticket_form.py |    2 +-
 .../tests/unit/test_ticket_model.py             |   85 +-
 ForgeTracker/forgetracker/tracker_main.py       |  488 +--
 ForgeTracker/forgetracker/widgets/admin.py      |   21 +-
 .../forgetracker/widgets/admin_custom_fields.py |   77 +-
 ForgeTracker/forgetracker/widgets/bin_form.py   |   14 +-
 .../forgetracker/widgets/ticket_form.py         |   65 +-
 .../forgetracker/widgets/ticket_search.py       |   30 +-
 ForgeTracker/setup.py                           |    6 +-
 ForgeUserStats/forgeuserstats/__init__.py       |    1 -
 .../forgeuserstats/controllers/__init__.py      |    1 -
 .../forgeuserstats/controllers/userstats.py     |   76 +-
 ForgeUserStats/forgeuserstats/main.py           |   36 +-
 ForgeUserStats/forgeuserstats/model/__init__.py |    1 -
 ForgeUserStats/forgeuserstats/model/stats.py    |   16 +-
 ForgeUserStats/forgeuserstats/tests/__init__.py |    1 -
 .../forgeuserstats/tests/test_model.py          |  172 +-
 .../forgeuserstats/tests/test_stats.py          |   93 +-
 .../forgeuserstats/widgets/__init__.py          |    1 -
 ForgeUserStats/forgeuserstats/widgets/forms.py  |   10 +-
 ForgeUserStats/setup.py                         |    6 +-
 ForgeWiki/forgewiki/converters.py               |    4 +-
 ForgeWiki/forgewiki/model/wiki.py               |   78 +-
 .../scripts/wiki2markdown/extractors.py         |   10 +-
 .../forgewiki/scripts/wiki2markdown/loaders.py  |   16 +-
 .../scripts/wiki2markdown/wiki2markdown.py      |   56 +-
 .../scripts/wiki_from_trac/__init__.py          |    2 +-
 .../scripts/wiki_from_trac/extractors.py        |    9 +-
 .../forgewiki/scripts/wiki_from_trac/loaders.py |    6 +-
 .../scripts/wiki_from_trac/wiki_from_trac.py    |   39 +-
 .../forgewiki/tests/functional/test_rest.py     |   15 +-
 .../forgewiki/tests/functional/test_root.py     |  339 ++-
 ForgeWiki/forgewiki/tests/test_app.py           |    9 +-
 ForgeWiki/forgewiki/tests/test_wiki2markdown.py |   18 +-
 ForgeWiki/forgewiki/tests/test_wiki_roles.py    |    4 +
 ForgeWiki/forgewiki/widgets/wiki.py             |    6 +-
 ForgeWiki/forgewiki/wiki_main.py                |  164 +-
 ForgeWiki/setup.py                              |    6 +-
 NoWarnings/nowarnings.py                        |    1 +
 fuse/accessfs.py                                |   53 +-
 run_tests                                       |   31 +-
 scripts/add_user_to_group.py                    |   14 +-
 scripts/allura_import.py                        |   52 +-
 scripts/changelog.py                            |    9 +-
 scripts/create-allura-sitemap.py                |   16 +-
 scripts/git-hooks/for-the-remote-repo/update    |   46 +-
 .../git-hooks/for-your-local-repo/commit-msg    |    5 +-
 scripts/git-mr                                  |   29 +-
 scripts/import_trove_categories.py              |   11 +-
 scripts/migrations/000-fix-tracker-fields.py    |   16 +-
 scripts/migrations/001-restore-labels.py        |   31 +-
 .../002-fix-tracker-thread-subjects.py          |   10 +-
 scripts/migrations/003-migrate_project_roles.py |    3 +-
 .../004-make-attachments-polymorphic.py         |    1 +
 ...005-remove_duplicate_ticket_notifications.py |   15 +-
 scripts/migrations/006-migrate-artifact-refs.py |    5 +-
 scripts/migrations/007-update-acls.py           |   64 +-
 .../migrations/008-remove-forumpost-subject.py  |    1 +
 scripts/migrations/010-fix-home-permissions.py  |   31 +-
 scripts/migrations/011-fix-subroles.py          |   33 +-
 scripts/migrations/012-uninstall-home.py        |   38 +-
 scripts/migrations/013-update-ordinals.py       |   10 +-
 .../015-add-neighborhood_id-to-blog-posts.py    |    3 +-
 scripts/migrations/018-add-svn-checkout-url.py  |    2 +-
 .../migrations/020-remove-wiki-title-slashes.py |    1 +
 .../migrations/022-change-anon-display-name.py  |    3 +-
 .../024-migrate-custom-profile-text.py          |   19 +-
 scripts/migrations/025-add-is-nbhd-project.py   |    7 +-
 scripts/migrations/026-install-activity-tool.py |    1 +
 .../027-change-ticket-write-permissions.py      |    5 +-
 scripts/migrations/028-remove-svn-trees.py      |    4 +-
 scripts/new_ticket.py                           |   15 +-
 scripts/open_relay.py                           |   11 +-
 scripts/perf/benchmark-scm.py                   |   53 +-
 scripts/perf/call_count.py                      |   23 +-
 scripts/perf/md_perf.py                         |   19 +-
 scripts/perf/sstress.py                         |   10 +-
 scripts/perf/test_git_lcd.py                    |    2 +-
 scripts/prep-scm-sandbox.py                     |   20 +-
 scripts/project-import.py                       |  131 +-
 scripts/publicize-neighborhood.py               |   22 +-
 scripts/recover-user-databases.py               |   11 +-
 scripts/rethumb.py                              |   42 +-
 scripts/scrub-allura-data.py                    |   20 +-
 scripts/setup-scm-server.py                     |   10 +-
 scripts/teamforge-import.py                     |  327 ++-
 scripts/test-branches-against-tickets.py        |   52 +-
 scripts/tracker-rip.py                          |   59 +-
 scripts/wiki-copy.py                            |   28 +-
 scripts/wiki-export.py                          |    2 +-
 scripts/wiki-post.py                            |   18 +-
 392 files changed, 15707 insertions(+), 10378 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/c93733ac/Allura/allura/app.py
----------------------------------------------------------------------
diff --git a/Allura/allura/app.py b/Allura/allura/app.py
index 85673c5..29acf12 100644
--- a/Allura/allura/app.py
+++ b/Allura/allura/app.py
@@ -46,9 +46,11 @@ config = ConfigProxy(common_suffix='forgemail.domain')
 
 
 class ConfigOption(object):
+
     """Definition of a configuration option for an :class:`Application`.
 
     """
+
     def __init__(self, name, ming_type, default, label=None):
         """Create a new ConfigOption.
 
@@ -67,14 +69,16 @@ class ConfigOption(object):
 
 
 class SitemapEntry(object):
+
     """A labeled URL, which may optionally have
     :class:`children <SitemapEntry>`.
 
     Used for generating trees of links.
 
     """
+
     def __init__(self, label, url=None, children=None, className=None,
-            ui_icon=None, small=None, tool_name=None, matching_urls=None):
+                 ui_icon=None, small=None, tool_name=None, matching_urls=None):
         """Create a new SitemapEntry.
 
         """
@@ -112,7 +116,8 @@ class SitemapEntry(object):
         l = ['<SitemapEntry ']
         l.append('    label=%r' % self.label)
         l.append('    url=%r' % self.url)
-        l.append('    children=%s' % repr(self.children).replace('\n', '\n    '))
+        l.append('    children=%s' %
+                 repr(self.children).replace('\n', '\n    '))
         l.append('>')
         return '\n'.join(l)
 
@@ -130,12 +135,12 @@ class SitemapEntry(object):
         if url is not None:
             url = basejoin(app.url, url)
         return SitemapEntry(lbl, url, [
-                ch.bind_app(app) for ch in self.children],
-                className=self.className,
-                ui_icon=self.ui_icon,
-                small=self.small,
-                tool_name=self.tool_name,
-                matching_urls=self.matching_urls)
+            ch.bind_app(app) for ch in self.children],
+            className=self.className,
+            ui_icon=self.ui_icon,
+            small=self.small,
+            tool_name=self.tool_name,
+            matching_urls=self.matching_urls)
 
     def extend(self, sitemap_entries):
         """Extend our children with ``sitemap_entries``.
@@ -167,6 +172,7 @@ class SitemapEntry(object):
 
 
 class Application(object):
+
     """
     The base Allura pluggable application
 
@@ -239,9 +245,9 @@ class Application(object):
     ordinal = 0
     hidden = False
     icons = {
-        24:'images/admin_24.png',
-        32:'images/admin_32.png',
-        48:'images/admin_48.png'
+        24: 'images/admin_24.png',
+        32: 'images/admin_32.png',
+        48: 'images/admin_48.png'
     }
 
     def __init__(self, project, app_config_object):
@@ -331,7 +337,8 @@ class Application(object):
         :rtype: bool
 
         """
-        tools_list = [tool.tool_name.lower() for tool in self.project.app_configs]
+        tools_list = [tool.tool_name.lower()
+                      for tool in self.project.app_configs]
         return tools_list.count(self.config.tool_name.lower()) < self.max_instances
 
     @classmethod
@@ -349,7 +356,7 @@ class Application(object):
 
         """
         re = (h.re_relaxed_tool_mount_point if cls.relaxed_mount_points
-                else h.re_tool_mount_point)
+              else h.re_tool_mount_point)
         return re.match(mount_point)
 
     @classmethod
@@ -373,7 +380,7 @@ class Application(object):
         if resource:
             resource_path = os.path.join('nf', resource)
             url = (g.forge_static(resource) if cls.has_resource(resource_path)
-                    else g.theme_href(resource))
+                   else g.theme_href(resource))
         return url
 
     @classmethod
@@ -430,10 +437,10 @@ class Application(object):
         """
         if user and user != model.User.anonymous():
             model.Mailbox.subscribe(
-                    type='direct',
-                    user_id=user._id,
-                    project_id=self.project._id,
-                    app_config_id=self.config._id)
+                type='direct',
+                user_id=user._id,
+                project_id=self.project._id,
+                app_config_id=self.config._id)
 
     @classmethod
     def default_options(cls):
@@ -460,13 +467,14 @@ class Application(object):
 
     def uninstall(self, project=None, project_id=None):
         'Whatever logic is required to tear down a tool'
-        if project_id is None: project_id = project._id
+        if project_id is None:
+            project_id = project._id
         # De-index all the artifacts belonging to this tool in one fell swoop
         g.solr.delete(q='project_id_s:"%s" AND mount_point_s:"%s"' % (
-                project_id, self.config.options['mount_point']))
+            project_id, self.config.options['mount_point']))
         for d in model.Discussion.query.find({
-                'project_id':project_id,
-                'app_config_id':self.config._id}):
+                'project_id': project_id,
+                'app_config_id': self.config._id}):
             d.delete()
         self.config.delete()
         session(self.config).flush()
@@ -526,13 +534,17 @@ class Application(object):
         :return: a list of :class:`SitemapEntries <allura.app.SitemapEntry>`
 
         """
-        admin_url = c.project.url()+'admin/'+self.config.options.mount_point+'/'
+        admin_url = c.project.url() + 'admin/' + \
+            self.config.options.mount_point + '/'
         links = []
         if self.permissions and has_access(c.project, 'admin')():
-            links.append(SitemapEntry('Permissions', admin_url + 'permissions'))
+            links.append(
+                SitemapEntry('Permissions', admin_url + 'permissions'))
         if force_options or len(self.config_options) > 3:
-            links.append(SitemapEntry('Options', admin_url + 'options', className='admin_modal'))
-        links.append(SitemapEntry('Label', admin_url + 'edit_label', className='admin_modal'))
+            links.append(
+                SitemapEntry('Options', admin_url + 'options', className='admin_modal'))
+        links.append(
+            SitemapEntry('Label', admin_url + 'edit_label', className='admin_modal'))
         return links
 
     def handle_message(self, topic, message):
@@ -571,7 +583,8 @@ class Application(object):
             fp = StringIO(message['payload'])
             self.AttachmentClass.save_attachment(
                 message['filename'], fp,
-                content_type=message.get('content_type', 'application/octet-stream'),
+                content_type=message.get(
+                    'content_type', 'application/octet-stream'),
                 discussion_id=thd.discussion_id,
                 thread_id=thd._id,
                 post_id=message_id,
@@ -580,16 +593,19 @@ class Application(object):
         # Handle duplicates
         post = self.PostClass.query.get(_id=message_id)
         if post:
-            log.info('Existing message_id %s found - saving this as text attachment' % message_id)
+            log.info(
+                'Existing message_id %s found - saving this as text attachment' %
+                message_id)
             fp = StringIO(message['payload'])
             post.attach(
                 'alternate', fp,
-                content_type=message.get('content_type', 'application/octet-stream'),
+                content_type=message.get(
+                    'content_type', 'application/octet-stream'),
                 discussion_id=thd.discussion_id,
                 thread_id=thd._id,
                 post_id=message_id)
         else:
-            text=message['payload'] or '--no text body--'
+            text = message['payload'] or '--no text body--'
             post = thd.post(
                 message_id=message_id,
                 parent_id=parent_id,
@@ -607,6 +623,7 @@ class Application(object):
 
 
 class DefaultAdminController(BaseController):
+
     """Provides basic admin functionality for an :class:`Application`.
 
     To add more admin functionality for your Application, extend this
@@ -619,6 +636,7 @@ class DefaultAdminController(BaseController):
                 self.admin = MyAdminController(self)
 
     """
+
     def __init__(self, app):
         """Instantiate this controller for an :class:`app <Application>`.
 
@@ -642,7 +660,8 @@ class DefaultAdminController(BaseController):
         user = model.User.by_username(username)
         if not user:
             return dict(error='User "%s" not found' % username)
-        ace = model.ACE.deny(model.ProjectRole.by_user(user, upsert=True)._id, perm, reason)
+        ace = model.ACE.deny(
+            model.ProjectRole.by_user(user, upsert=True)._id, perm, reason)
         if not model.ACL.contains(ace, self.app.acl):
             self.app.acl.append(ace)
             return dict(user_id=str(user._id), username=user.username, reason=reason)
@@ -744,7 +763,8 @@ class DefaultAdminController(BaseController):
                 redirect('..')
             for opt in self.app.config_options:
                 if opt in Application.config_options:
-                    continue  # skip base options (mount_point, mount_label, ordinal)
+                    # skip base options (mount_point, mount_label, ordinal)
+                    continue
                 val = kw.get(opt.name, '')
                 if opt.ming_type == bool:
                     val = asbool(val or False)
@@ -778,15 +798,16 @@ class DefaultAdminController(BaseController):
             del_group_ids = []
             group_ids = args.get('value', [])
             if isinstance(new_group_ids, basestring):
-                new_group_ids = [ new_group_ids ]
+                new_group_ids = [new_group_ids]
             if isinstance(group_ids, basestring):
-                group_ids = [ group_ids ]
+                group_ids = [group_ids]
 
             for acl in old_acl:
                 if (acl['permission'] == perm) and (str(acl['role_id']) not in group_ids) and acl['access'] != model.ACE.DENY:
                     del_group_ids.append(str(acl['role_id']))
 
-            get_role = lambda _id: model.ProjectRole.query.get(_id=ObjectId(_id))
+            get_role = lambda _id: model.ProjectRole.query.get(
+                _id=ObjectId(_id))
             groups = map(get_role, group_ids)
             new_groups = map(get_role, new_group_ids)
             del_groups = map(get_role, del_group_ids)
@@ -794,8 +815,10 @@ class DefaultAdminController(BaseController):
             if new_groups or del_groups:
                 model.AuditLog.log('updated "%s" permission: "%s" => "%s" for %s' % (
                     perm,
-                    ', '.join(map(lambda role: role.name, groups+del_groups)),
-                    ', '.join(map(lambda role: role.name, groups+new_groups)),
+                    ', '.join(
+                        map(lambda role: role.name, groups + del_groups)),
+                    ', '.join(
+                        map(lambda role: role.name, groups + new_groups)),
                     self.app.config.options['mount_point']))
 
             role_ids = map(ObjectId, group_ids + new_group_ids)

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/c93733ac/Allura/allura/command/base.py
----------------------------------------------------------------------
diff --git a/Allura/allura/command/base.py b/Allura/allura/command/base.py
index e7849f3..427362c 100644
--- a/Allura/allura/command/base.py
+++ b/Allura/allura/command/base.py
@@ -35,6 +35,7 @@ from allura.lib.helpers import iter_entry_points
 
 log = None
 
+
 @task
 def run_command(command, args):
     """Run paster command asynchronously"""
@@ -49,7 +50,10 @@ def run_command(command, args):
         raise Exception("Error parsing args: '%s'" % args)
     return command.run(arg_list)
 
-class EmptyClass(object): pass
+
+class EmptyClass(object):
+    pass
+
 
 class Command(command.Command):
     min_args = 1
@@ -58,6 +62,7 @@ class Command(command.Command):
     group_name = 'Allura'
 
     class __metaclass__(type):
+
         @property
         def __doc__(cls):
             return cls.parser.format_help()
@@ -84,17 +89,20 @@ class Command(command.Command):
     def basic_setup(self):
         global log, M
         if self.args[0]:
-            # Probably being called from the command line - load the config file
-            self.config = conf = appconfig('config:%s' % self.args[0],relative_to=os.getcwd())
+            # Probably being called from the command line - load the config
+            # file
+            self.config = conf = appconfig('config:%s' %
+                                           self.args[0], relative_to=os.getcwd())
             # ... logging does not understand section#subsection syntax
             logging_config = self.args[0].split('#')[0]
-            logging.config.fileConfig(logging_config, disable_existing_loggers=False)
+            logging.config.fileConfig(
+                logging_config, disable_existing_loggers=False)
             log = logging.getLogger('allura.command')
             log.info('Initialize command with config %r', self.args[0])
             load_environment(conf.global_conf, conf.local_conf)
             self.setup_globals()
             from allura import model
-            M=model
+            M = model
             ming.configure(**conf)
             if asbool(conf.get('activitystream.recording.enabled', False)):
                 activitystream.configure(**conf)
@@ -114,7 +122,8 @@ class Command(command.Command):
         self.registry.prepare()
         self.registry.register(pylons.tmpl_context, EmptyClass())
         self.registry.register(pylons.app_globals, self.globals)
-        self.registry.register(allura.credentials, allura.lib.security.Credentials())
+        self.registry.register(
+            allura.credentials, allura.lib.security.Credentials())
         pylons.tmpl_context.queued_messages = None
 
     def teardown_globals(self):

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/c93733ac/Allura/allura/command/create_neighborhood.py
----------------------------------------------------------------------
diff --git a/Allura/allura/command/create_neighborhood.py b/Allura/allura/command/create_neighborhood.py
index 14e9e14..db79bb0 100644
--- a/Allura/allura/command/create_neighborhood.py
+++ b/Allura/allura/command/create_neighborhood.py
@@ -23,31 +23,32 @@ from bson import ObjectId
 from allura import model as M
 from allura.lib import plugin, exceptions
 
+
 class CreateNeighborhoodCommand(base.Command):
-    min_args=3
-    max_args=None
+    min_args = 3
+    max_args = None
     usage = '<ini file> <neighborhood_shortname> <admin1> [<admin2>...]'
     summary = 'Create a new neighborhood with the listed admins'
     parser = base.Command.standard_parser(verbose=True)
 
     def command(self):
         self.basic_setup()
-        admins = [ M.User.by_username(un) for un in self.args[2:] ]
+        admins = [M.User.by_username(un) for un in self.args[2:]]
         shortname = self.args[1]
         n = M.Neighborhood(
             name=shortname,
             url_prefix='/' + shortname + '/',
-            features=dict(private_projects = False,
-                          max_projects = 500,
-                          css = 'none',
-                          google_analytics = False))
+            features=dict(private_projects=False,
+                          max_projects=500,
+                          css='none',
+                          google_analytics=False))
         project_reg = plugin.ProjectRegistrationProvider.get()
         project_reg.register_neighborhood_project(n, admins)
 
 
 class UpdateNeighborhoodCommand(base.Command):
-    min_args=3
-    max_args=None
+    min_args = 3
+    max_args = None
     usage = '<ini file> <neighborhood> <home_tool_active>'
     summary = 'Activate Home application for neighborhood\r\n' \
         '\t<neighborhood> - the neighborhood name or _id\r\n' \
@@ -64,8 +65,8 @@ class UpdateNeighborhoodCommand(base.Command):
         if not nb:
             nb = M.Neighborhood.query.get(_id=ObjectId(shortname))
         if nb is None:
-            raise exceptions.NoSuchNeighborhoodError("The neighborhood %s " \
-                "could not be found in the database" % shortname)
+            raise exceptions.NoSuchNeighborhoodError("The neighborhood %s "
+                                                     "could not be found in the database" % shortname)
         tool_value = self.args[2].lower()
         if tool_value[:1] == "t":
             home_tool_active = True