You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2020/02/10 22:44:51 UTC

[allura] 20/41: [#8349] python-modernize -n -w --no-diffs -f xrange_six .

This is an automated email from the ASF dual-hosted git repository.

brondsem pushed a commit to branch db/8349
in repository https://gitbox.apache.org/repos/asf/allura.git

commit 107b818e38b4773784e0a2568f3a68aa4e7afc3d
Author: Dave Brondsema <da...@brondsema.net>
AuthorDate: Mon Feb 10 14:37:18 2020 -0500

    [#8349] python-modernize -n -w --no-diffs -f xrange_six .
---
 Allura/allura/command/taskd_cleanup.py                         | 1 +
 Allura/allura/controllers/site_admin.py                        | 1 +
 Allura/allura/lib/custom_middleware.py                         | 1 +
 Allura/allura/lib/helpers.py                                   | 3 ++-
 Allura/allura/lib/multifactor.py                               | 5 +++--
 Allura/allura/lib/plugin.py                                    | 3 ++-
 Allura/allura/lib/utils.py                                     | 3 ++-
 Allura/allura/lib/widgets/form_fields.py                       | 3 ++-
 Allura/allura/model/discuss.py                                 | 1 +
 Allura/allura/model/repository.py                              | 1 +
 Allura/allura/model/stats.py                                   | 1 +
 Allura/allura/scripts/create_sitemap_files.py                  | 1 +
 Allura/allura/tests/functional/test_auth.py                    | 3 ++-
 Allura/allura/tests/functional/test_discuss.py                 | 1 +
 Allura/allura/tests/functional/test_home.py                    | 1 +
 Allura/allura/tests/model/test_discussion.py                   | 1 +
 Allura/allura/tests/test_commands.py                           | 5 +++--
 Allura/allura/tests/test_tasks.py                              | 1 +
 Allura/allura/tests/test_utils.py                              | 3 ++-
 Allura/allura/tests/test_webhooks.py                           | 1 +
 Allura/allura/tests/unit/test_post_model.py                    | 3 ++-
 Allura/allura/tests/unit/test_session.py                       | 5 +++--
 Allura/allura/websetup/bootstrap.py                            | 1 +
 ForgeBlog/forgeblog/tests/functional/test_root.py              | 1 +
 ForgeDiscussion/forgediscussion/tests/functional/test_forum.py | 1 +
 ForgeImporters/forgeimporters/github/tests/test_wiki.py        | 1 +
 ForgeSVN/forgesvn/model/svn.py                                 | 3 ++-
 ForgeSVN/forgesvn/tests/model/test_repository.py               | 1 +
 ForgeTracker/forgetracker/search.py                            | 3 ++-
 ForgeTracker/forgetracker/tests/functional/test_root.py        | 1 +
 ForgeWiki/forgewiki/tests/functional/test_root.py              | 1 +
 ForgeWiki/forgewiki/tests/test_models.py                       | 1 +
 scripts/perf/benchmark-scm.py                                  | 1 +
 scripts/perf/call_count.py                                     | 3 ++-
 scripts/perf/generate-projects.py                              | 1 +
 scripts/perf/load-up-forum.py                                  | 1 +
 scripts/perf/sstress.py                                        | 5 +++--
 scripts/project-import.py                                      | 1 +
 38 files changed, 56 insertions(+), 18 deletions(-)

diff --git a/Allura/allura/command/taskd_cleanup.py b/Allura/allura/command/taskd_cleanup.py
index 4c50737..5523410 100644
--- a/Allura/allura/command/taskd_cleanup.py
+++ b/Allura/allura/command/taskd_cleanup.py
@@ -26,6 +26,7 @@ from ming.orm.ormsession import ThreadLocalORMSession
 
 from allura import model as M
 from . import base
+from six.moves import range
 
 
 class TaskdCleanupCommand(base.Command):
diff --git a/Allura/allura/controllers/site_admin.py b/Allura/allura/controllers/site_admin.py
index f703a11..fb50b2a 100644
--- a/Allura/allura/controllers/site_admin.py
+++ b/Allura/allura/controllers/site_admin.py
@@ -52,6 +52,7 @@ import allura
 from six.moves.urllib.parse import urlparse
 from webhelpers import paginate
 import six
+from six.moves import range
 
 
 log = logging.getLogger(__name__)
diff --git a/Allura/allura/lib/custom_middleware.py b/Allura/allura/lib/custom_middleware.py
index 4771599..061d792 100644
--- a/Allura/allura/lib/custom_middleware.py
+++ b/Allura/allura/lib/custom_middleware.py
@@ -34,6 +34,7 @@ import six
 
 from allura.lib import helpers as h
 import allura.model.repository
+from six.moves import range
 
 log = logging.getLogger(__name__)
 
diff --git a/Allura/allura/lib/helpers.py b/Allura/allura/lib/helpers.py
index bfa5038..c861136 100644
--- a/Allura/allura/lib/helpers.py
+++ b/Allura/allura/lib/helpers.py
@@ -43,6 +43,7 @@ import cgi
 import emoji
 import tg
 import six
+from six.moves import range
 try:
     import cchardet as chardet
 except ImportError:
@@ -717,7 +718,7 @@ def _add_table_line_numbers_to_text(txt):
 
     def _len_to_str_column(l, start=1):
         max_num = l + start
-        return '\n'.join(map(_prepend_whitespaces, range(start, max_num), [max_num] * l))
+        return '\n'.join(map(_prepend_whitespaces, list(range(start, max_num)), [max_num] * l))
 
     lines = txt.splitlines(True)
     linenumbers = '<td class="linenos"><div class="linenodiv"><pre>' + \
diff --git a/Allura/allura/lib/multifactor.py b/Allura/allura/lib/multifactor.py
index c120a16..8e34d24 100644
--- a/Allura/allura/lib/multifactor.py
+++ b/Allura/allura/lib/multifactor.py
@@ -43,6 +43,7 @@ from allura.model.multifactor import RecoveryCode
 from allura.lib.utils import umask
 import six
 from io import open
+from six.moves import range
 
 
 log = logging.getLogger(__name__)
@@ -361,7 +362,7 @@ class RecoveryCodeService(object):
     def generate_one_code(self):
         # for compatibility with Google PAM file, we only do digits
         length = asint(config.get('auth.multifactor.recovery_code.length', 8))
-        return ''.join([random.choice(string.digits) for i in xrange(length)])
+        return ''.join([random.choice(string.digits) for i in range(length)])
 
     def regenerate_codes(self, user):
         '''
@@ -372,7 +373,7 @@ class RecoveryCodeService(object):
         '''
         count = asint(config.get('auth.multifactor.recovery_code.count', 10))
         codes = [
-            self.generate_one_code() for i in xrange(count)
+            self.generate_one_code() for i in range(count)
         ]
         self.replace_codes(user, codes)
         return codes
diff --git a/Allura/allura/lib/plugin.py b/Allura/allura/lib/plugin.py
index 6e0d9d6..32b6dae 100644
--- a/Allura/allura/lib/plugin.py
+++ b/Allura/allura/lib/plugin.py
@@ -36,6 +36,7 @@ from base64 import b64encode
 from datetime import datetime, timedelta
 import calendar
 import six
+from six.moves import range
 
 try:
     import ldap
@@ -575,7 +576,7 @@ class LocalAuthenticationProvider(AuthenticationProvider):
         from allura import model as M
         if salt is None:
             salt = ''.join(chr(randint(1, 0x7f))
-                           for i in xrange(M.User.SALT_LEN))
+                           for i in range(M.User.SALT_LEN))
         hashpass = sha256(salt + password.encode('utf-8')).digest()
         return 'sha256' + salt + b64encode(hashpass)
 
diff --git a/Allura/allura/lib/utils.py b/Allura/allura/lib/utils.py
index 336383a..5485966 100644
--- a/Allura/allura/lib/utils.py
+++ b/Allura/allura/lib/utils.py
@@ -60,6 +60,7 @@ from ming.utils import LazyProperty
 from ming.odm.odmsession import ODMCursor
 from ming.odm import session
 import six
+from six.moves import range
 
 MARKDOWN_EXTENSIONS = ['.markdown', '.mdown', '.mkdn', '.mkd', '.md']
 
@@ -183,7 +184,7 @@ def lsub_utf8(s, n):
 def chunked_list(l, n):
     """ Yield successive n-sized chunks from l.
     """
-    for i in xrange(0, len(l), n):
+    for i in range(0, len(l), n):
         yield l[i:i + n]
 
 
diff --git a/Allura/allura/lib/widgets/form_fields.py b/Allura/allura/lib/widgets/form_fields.py
index 64beee5..7610325 100644
--- a/Allura/allura/lib/widgets/form_fields.py
+++ b/Allura/allura/lib/widgets/form_fields.py
@@ -28,6 +28,7 @@ from webhelpers import paginate
 import ew as ew_core
 import ew.jinja2_ew as ew
 import six
+from six.moves import range
 
 log = logging.getLogger(__name__)
 
@@ -310,7 +311,7 @@ class PageList(ew_core.Widget):
             params = request.GET.copy()
             params['page'] = page - page_offset
             return url(request.path, params)
-        return paginate.Page(range(count), page + page_offset, int(limit),
+        return paginate.Page(list(range(count)), page + page_offset, int(limit),
                              url=page_url)
 
     def prepare_context(self, context):
diff --git a/Allura/allura/model/discuss.py b/Allura/allura/model/discuss.py
index 708f974..3f70757 100644
--- a/Allura/allura/model/discuss.py
+++ b/Allura/allura/model/discuss.py
@@ -43,6 +43,7 @@ from .attachments import BaseAttachment
 from .auth import User, ProjectRole, AlluraUserProperty
 from .timeline import ActivityObject
 from .types import MarkdownCache
+from six.moves import range
 
 log = logging.getLogger(__name__)
 
diff --git a/Allura/allura/model/repository.py b/Allura/allura/model/repository.py
index 7d34967..f55f024 100644
--- a/Allura/allura/model/repository.py
+++ b/Allura/allura/model/repository.py
@@ -61,6 +61,7 @@ from .project import AppConfig
 from .session import main_doc_session
 from .session import repository_orm_session
 from io import open
+from six.moves import range
 
 
 log = logging.getLogger(__name__)
diff --git a/Allura/allura/model/stats.py b/Allura/allura/model/stats.py
index c5f07b8..baa24ec 100644
--- a/Allura/allura/model/stats.py
+++ b/Allura/allura/model/stats.py
@@ -29,6 +29,7 @@ from datetime import timedelta
 import difflib
 
 from allura.model.session import main_orm_session
+from six.moves import range
 
 
 class Stats(MappedClass):
diff --git a/Allura/allura/scripts/create_sitemap_files.py b/Allura/allura/scripts/create_sitemap_files.py
index e2347bb..1eaeb07 100644
--- a/Allura/allura/scripts/create_sitemap_files.py
+++ b/Allura/allura/scripts/create_sitemap_files.py
@@ -46,6 +46,7 @@ from allura import model as M
 from allura.lib import security, utils
 from allura.scripts import ScriptTask
 from io import open
+from six.moves import range
 
 
 MAX_SITEMAP_URLS = 50000
diff --git a/Allura/allura/tests/functional/test_auth.py b/Allura/allura/tests/functional/test_auth.py
index 67479e1..710c675 100644
--- a/Allura/allura/tests/functional/test_auth.py
+++ b/Allura/allura/tests/functional/test_auth.py
@@ -55,6 +55,7 @@ from allura.lib import plugin
 from allura.lib import helpers as h
 from allura.lib.multifactor import TotpService, RecoveryCodeService
 import six
+from six.moves import range
 
 
 def unentity(s):
@@ -2597,7 +2598,7 @@ class TestTwoFactor(TestController):
         r = r.follow()
 
         # try some invalid codes
-        for i in xrange(3):
+        for i in range(3):
             r.form['code'] = 'invalid-code'
             r = r.form.submit()
             assert_in('Invalid code', r)
diff --git a/Allura/allura/tests/functional/test_discuss.py b/Allura/allura/tests/functional/test_discuss.py
index 4f633d8..aa12d4c 100644
--- a/Allura/allura/tests/functional/test_discuss.py
+++ b/Allura/allura/tests/functional/test_discuss.py
@@ -28,6 +28,7 @@ from allura import model as M
 from allura.lib import helpers as h
 from tg import config
 from io import open
+from six.moves import range
 
 
 
diff --git a/Allura/allura/tests/functional/test_home.py b/Allura/allura/tests/functional/test_home.py
index 686b31e..71b3c7e 100644
--- a/Allura/allura/tests/functional/test_home.py
+++ b/Allura/allura/tests/functional/test_home.py
@@ -29,6 +29,7 @@ import allura
 from allura.tests import TestController
 from allura.tests import decorators as td
 from allura import model as M
+from six.moves import range
 
 
 class TestProjectHome(TestController):
diff --git a/Allura/allura/tests/model/test_discussion.py b/Allura/allura/tests/model/test_discussion.py
index 91ca97d..b4e5f22 100644
--- a/Allura/allura/tests/model/test_discussion.py
+++ b/Allura/allura/tests/model/test_discussion.py
@@ -40,6 +40,7 @@ from allura import model as M
 from allura.lib import helpers as h
 from allura.tests import TestController
 from alluratest.controller import setup_global_objects
+from six.moves import range
 
 
 def setUp():
diff --git a/Allura/allura/tests/test_commands.py b/Allura/allura/tests/test_commands.py
index 344ca39..e069359 100644
--- a/Allura/allura/tests/test_commands.py
+++ b/Allura/allura/tests/test_commands.py
@@ -34,6 +34,7 @@ from allura.command import base, script, set_neighborhood_features, \
 from allura import model as M
 from allura.lib.exceptions import InvalidNBFeatureValueError
 from allura.tests import decorators as td
+from six.moves import range
 
 test_config = pkg_resources.resource_filename(
     'allura', '../test.ini') + '#main'
@@ -503,7 +504,7 @@ class TestReindexCommand(object):
         add_artifacts.post.side_effect = on_post
         cmd = show_models.ReindexCommand('reindex')
         cmd.options, args = cmd.parser.parse_args([])
-        cmd._post_add_artifacts(range(5))
+        cmd._post_add_artifacts(list(range(5)))
         kw = {'update_solr': cmd.options.solr, 'update_refs': cmd.options.refs}
         expected = [
             call([0, 1, 2, 3, 4], **kw),
@@ -526,7 +527,7 @@ class TestReindexCommand(object):
         cmd = show_models.ReindexCommand('reindex')
         cmd.options = Mock(ming_config=None)
         with td.raises(pymongo.errors.InvalidDocument):
-            cmd._post_add_artifacts(range(5))
+            cmd._post_add_artifacts(list(range(5)))
 
     @td.with_wiki  # so there's some artifacts to reindex
     def test_ming_config(self):
diff --git a/Allura/allura/tests/test_tasks.py b/Allura/allura/tests/test_tasks.py
index 85e21ca..79e873c 100644
--- a/Allura/allura/tests/test_tasks.py
+++ b/Allura/allura/tests/test_tasks.py
@@ -53,6 +53,7 @@ from allura.tasks import export_tasks
 from allura.tasks import admin_tasks
 from allura.tests import decorators as td
 from allura.lib.decorators import event_handler, task
+from six.moves import range
 
 
 class TestRepoTasks(unittest.TestCase):
diff --git a/Allura/allura/tests/test_utils.py b/Allura/allura/tests/test_utils.py
index 675886c..d3cff56 100644
--- a/Allura/allura/tests/test_utils.py
+++ b/Allura/allura/tests/test_utils.py
@@ -46,6 +46,7 @@ from alluratest.controller import setup_unit_test
 from allura import model as M
 from allura.lib import utils
 from allura.lib import helpers as h
+from six.moves import range
 
 
 @patch.dict('allura.lib.utils.tg.config', clear=True, foo='bar', baz='true')
@@ -99,7 +100,7 @@ class TestChunkedIterator(unittest.TestCase):
 class TestChunkedList(unittest.TestCase):
 
     def test_chunked_list(self):
-        l = range(10)
+        l = list(range(10))
         chunks = list(utils.chunked_list(l, 3))
         self.assertEqual(len(chunks), 4)
         self.assertEqual(len(chunks[0]), 3)
diff --git a/Allura/allura/tests/test_webhooks.py b/Allura/allura/tests/test_webhooks.py
index a7e1b8f..6430ae6 100644
--- a/Allura/allura/tests/test_webhooks.py
+++ b/Allura/allura/tests/test_webhooks.py
@@ -51,6 +51,7 @@ from alluratest.controller import (
     TestRestApiBase,
 )
 import six
+from six.moves import range
 
 
 # important to be distinct from 'test' and 'test2' which ForgeGit and
diff --git a/Allura/allura/tests/unit/test_post_model.py b/Allura/allura/tests/unit/test_post_model.py
index 838989e..475c3c6 100644
--- a/Allura/allura/tests/unit/test_post_model.py
+++ b/Allura/allura/tests/unit/test_post_model.py
@@ -24,6 +24,7 @@ from allura import model as M
 from allura.tests.unit import WithDatabase
 from allura.tests.unit import patches
 from allura.tests.unit.factories import create_post
+from six.moves import range
 
 
 class TestPostModel(WithDatabase):
@@ -46,7 +47,7 @@ class TestPostModel(WithDatabase):
         self.post.text = """\
 This is a **bold thing**, 40 chars here.
 * Here's the first item in our list.
-* And here's the second item.""" + ','.join(map(str, range(200)))
+* And here's the second item.""" + ','.join(map(str, list(range(200))))
         assert 'allura_id' in self.post.activity_extras
         summary = self.post.activity_extras['summary']
         assert summary.startswith("This is a bold thing, 40 chars here. Here's the first item in our list. "
diff --git a/Allura/allura/tests/unit/test_session.py b/Allura/allura/tests/unit/test_session.py
index 3be5484..65168ed 100644
--- a/Allura/allura/tests/unit/test_session.py
+++ b/Allura/allura/tests/unit/test_session.py
@@ -30,6 +30,7 @@ from allura.model.session import (
     ArtifactSessionExtension,
     substitute_extensions,
 )
+from six.moves import range
 
 
 def test_extensions_cm():
@@ -232,7 +233,7 @@ class TestBatchIndexer(TestCase):
                 e.args = e.args + ("doc:  {'task_name': 'allura.tasks.index_tasks.add_artifacts', ........",)
                 raise e
         index_tasks.add_artifacts.post.side_effect = on_post
-        self.ext._post(index_tasks.add_artifacts, range(5))
+        self.ext._post(index_tasks.add_artifacts, list(range(5)))
         expected = [
             mock.call([0, 1, 2, 3, 4]),
             mock.call([0, 1]),
@@ -253,4 +254,4 @@ class TestBatchIndexer(TestCase):
             raise pymongo.errors.InvalidDocument("Cannot encode object...")
         index_tasks.add_artifacts.post.side_effect = on_post
         with td.raises(pymongo.errors.InvalidDocument):
-            self.ext._post(index_tasks.add_artifacts, range(5))
+            self.ext._post(index_tasks.add_artifacts, list(range(5)))
diff --git a/Allura/allura/websetup/bootstrap.py b/Allura/allura/websetup/bootstrap.py
index 7ddc24f..93a966c 100644
--- a/Allura/allura/websetup/bootstrap.py
+++ b/Allura/allura/websetup/bootstrap.py
@@ -45,6 +45,7 @@ from allura.websetup.schema import REGISTRY
 
 from forgewiki import model as WM
 import six
+from six.moves import range
 
 log = logging.getLogger(__name__)
 
diff --git a/ForgeBlog/forgeblog/tests/functional/test_root.py b/ForgeBlog/forgeblog/tests/functional/test_root.py
index 4358a98..d7e551b 100644
--- a/ForgeBlog/forgeblog/tests/functional/test_root.py
+++ b/ForgeBlog/forgeblog/tests/functional/test_root.py
@@ -28,6 +28,7 @@ from mock import patch
 
 from allura.lib import helpers as h
 from alluratest.controller import TestController
+from six.moves import range
 
 
 class Test(TestController):
diff --git a/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py b/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
index a7d80e8..865ed4d 100644
--- a/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
+++ b/ForgeDiscussion/forgediscussion/tests/functional/test_forum.py
@@ -45,6 +45,7 @@ from allura.tests import decorators as td
 
 from forgediscussion import model as FM
 from io import open
+from six.moves import range
 
 log = logging.getLogger(__name__)
 
diff --git a/ForgeImporters/forgeimporters/github/tests/test_wiki.py b/ForgeImporters/forgeimporters/github/tests/test_wiki.py
index cdbcb19..910ac91 100644
--- a/ForgeImporters/forgeimporters/github/tests/test_wiki.py
+++ b/ForgeImporters/forgeimporters/github/tests/test_wiki.py
@@ -33,6 +33,7 @@ from alluratest.controller import setup_basic_test
 from forgeimporters.github.wiki import GitHubWikiImporter
 from forgeimporters.github.utils import GitHubMarkdownConverter
 from forgeimporters.github import GitHubOAuthMixin
+from six.moves import range
 
 
 # important to be distinct from 'test' which ForgeWiki uses, so that the
diff --git a/ForgeSVN/forgesvn/model/svn.py b/ForgeSVN/forgesvn/model/svn.py
index c91c1f9..13c54ad 100644
--- a/ForgeSVN/forgesvn/model/svn.py
+++ b/ForgeSVN/forgesvn/model/svn.py
@@ -48,6 +48,7 @@ from allura.model.auth import User
 from allura.model.repository import zipdir
 from allura.model import repository as RM
 from io import open
+from six.moves import range
 
 log = logging.getLogger(__name__)
 
@@ -327,7 +328,7 @@ class SVNImplementation(M.RepositoryImplementation):
         commit) and ending with the root (first commit).
         """
         head_revno = self.head
-        return map(self._oid, range(head_revno, 0, -1))
+        return map(self._oid, list(range(head_revno, 0, -1)))
 
     def new_commits(self, all_commits=False):
         head_revno = self.head
diff --git a/ForgeSVN/forgesvn/tests/model/test_repository.py b/ForgeSVN/forgesvn/tests/model/test_repository.py
index 046c17a..07b14a5 100644
--- a/ForgeSVN/forgesvn/tests/model/test_repository.py
+++ b/ForgeSVN/forgesvn/tests/model/test_repository.py
@@ -52,6 +52,7 @@ from forgesvn.tests import with_svn
 from allura.tests.decorators import with_tool
 import six
 from io import open
+from six.moves import range
 
 
 class TestNewRepo(unittest.TestCase):
diff --git a/ForgeTracker/forgetracker/search.py b/ForgeTracker/forgetracker/search.py
index ca15e85..1f0aa2c 100644
--- a/ForgeTracker/forgetracker/search.py
+++ b/ForgeTracker/forgetracker/search.py
@@ -20,6 +20,7 @@ from tg import tmpl_context as c
 
 from allura.lib.search import search
 import six
+from six.moves import range
 
 
 FACET_PARAMS = {
@@ -61,6 +62,6 @@ def get_facets(solr_hit):
     if solr_hit is not None:
         for facet_name, values in six.iteritems(solr_hit.facets['facet_fields']):
             field_name = facet_name.rsplit('_s', 1)[0]
-            values = [(values[i], values[i+1]) for i in xrange(0, len(values), 2)]
+            values = [(values[i], values[i+1]) for i in range(0, len(values), 2)]
             result[field_name] = values
     return result
diff --git a/ForgeTracker/forgetracker/tests/functional/test_root.py b/ForgeTracker/forgetracker/tests/functional/test_root.py
index fe74abc..294b01e 100644
--- a/ForgeTracker/forgetracker/tests/functional/test_root.py
+++ b/ForgeTracker/forgetracker/tests/functional/test_root.py
@@ -59,6 +59,7 @@ from allura.tests import decorators as td
 from allura.tasks import mail_tasks
 from ming.orm.ormsession import ThreadLocalORMSession
 import six
+from six.moves import range
 
 
 class TrackerTestController(TestController):
diff --git a/ForgeWiki/forgewiki/tests/functional/test_root.py b/ForgeWiki/forgewiki/tests/functional/test_root.py
index 49f30da..f917c1e 100644
--- a/ForgeWiki/forgewiki/tests/functional/test_root.py
+++ b/ForgeWiki/forgewiki/tests/functional/test_root.py
@@ -37,6 +37,7 @@ from allura.tests import decorators as td
 from alluratest.controller import TestController
 
 from forgewiki import model
+from six.moves import range
 
 
 class TestRootController(TestController):
diff --git a/ForgeWiki/forgewiki/tests/test_models.py b/ForgeWiki/forgewiki/tests/test_models.py
index 199ec63..44fe2e0 100644
--- a/ForgeWiki/forgewiki/tests/test_models.py
+++ b/ForgeWiki/forgewiki/tests/test_models.py
@@ -28,6 +28,7 @@ from allura.lib import helpers as h
 
 
 from forgewiki.model import Page
+from six.moves import range
 
 
 class TestPageSnapshots(TestController):
diff --git a/scripts/perf/benchmark-scm.py b/scripts/perf/benchmark-scm.py
index 341beb9..1e23cb9 100755
--- a/scripts/perf/benchmark-scm.py
+++ b/scripts/perf/benchmark-scm.py
@@ -30,6 +30,7 @@ import git
 import pysvn
 from mercurial import ui, hg, cmdutil
 import six
+from six.moves import range
 
 
 def main(opts):
diff --git a/scripts/perf/call_count.py b/scripts/perf/call_count.py
index baf7d95..830f493 100755
--- a/scripts/perf/call_count.py
+++ b/scripts/perf/call_count.py
@@ -39,6 +39,7 @@ from allura.tests.decorators import patch_middleware_config
 
 from forgewiki import model as WM
 from io import open
+from six.moves import range
 
 
 def parse_args():
@@ -123,7 +124,7 @@ def count_page(test, url, verbose=False, debug_html=False):
         print(url, resp.status)
         if debug_html:
             debug_filename = 'call-{}.html'.format(''.join([random.choice(string.ascii_letters + string.digits)
-                                                   for n in xrange(10)]))
+                                                   for n in range(10)]))
             with open(debug_filename, 'w') as out:
                 out.write(resp.body)
             print(debug_filename)
diff --git a/scripts/perf/generate-projects.py b/scripts/perf/generate-projects.py
index 1591170..d03e68f 100644
--- a/scripts/perf/generate-projects.py
+++ b/scripts/perf/generate-projects.py
@@ -21,6 +21,7 @@ from __future__ import absolute_import
 import re
 from ming.odm import ThreadLocalORMSession
 from allura import model as M
+from six.moves import range
 
 def main(start, cnt):
     n = M.Neighborhood.query.get(url_prefix='/p/')
diff --git a/scripts/perf/load-up-forum.py b/scripts/perf/load-up-forum.py
index cce16d9..92e6710 100644
--- a/scripts/perf/load-up-forum.py
+++ b/scripts/perf/load-up-forum.py
@@ -27,6 +27,7 @@ from forgediscussion.model import ForumPost, Forum
 from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter, ArgumentTypeError
 from allura.lib import helpers as h
 from random import randint
+from six.moves import range
 
 
 log = logging.getLogger(__name__)
diff --git a/scripts/perf/sstress.py b/scripts/perf/sstress.py
index 04c0a22..546025e 100644
--- a/scripts/perf/sstress.py
+++ b/scripts/perf/sstress.py
@@ -27,6 +27,7 @@ from __future__ import absolute_import
 import smtplib
 import threading
 import time
+from six.moves import range
 
 C = 5
 N = 1000
@@ -38,7 +39,7 @@ EMAIL_TEXT = 'X' * SIZE
 
 
 def main():
-    threads = [threading.Thread(target=stress) for x in xrange(C)]
+    threads = [threading.Thread(target=stress) for x in range(C)]
     begin = time.time()
     for t in threads:
         t.start()
@@ -52,7 +53,7 @@ def main():
 
 def stress():
     server = smtplib.SMTP(SERVER, PORT)
-    for x in xrange(N / C):
+    for x in range(N / C):
         server.sendmail('sstress@localhost', TOADDR, EMAIL_TEXT)
 
 if __name__ == '__main__':
diff --git a/scripts/project-import.py b/scripts/project-import.py
index 584a02f..6c153fc 100644
--- a/scripts/project-import.py
+++ b/scripts/project-import.py
@@ -35,6 +35,7 @@ from allura.lib import helpers as h
 from allura.lib.plugin import ProjectRegistrationProvider
 import six
 from io import open
+from six.moves import range
 
 log = logging.getLogger(__name__)