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:54 UTC

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

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 f57671b87874d1ba94c66ca600f85106c9dff09a
Author: Dave Brondsema <da...@brondsema.net>
AuthorDate: Mon Feb 10 14:42:20 2020 -0500

    [#8349] python-modernize -n -w --no-diffs -f map .
---
 Allura/allura/app.py                                      | 11 ++++++-----
 Allura/allura/controllers/site_admin.py                   |  3 ++-
 Allura/allura/ext/admin/admin_main.py                     |  3 ++-
 Allura/allura/ext/search/search_main.py                   |  1 +
 Allura/allura/lib/exceptions.py                           |  1 +
 Allura/allura/lib/helpers.py                              |  3 ++-
 Allura/allura/lib/mail_util.py                            |  5 +++--
 Allura/allura/lib/multifactor.py                          |  3 ++-
 Allura/allura/lib/utils.py                                |  5 +++--
 Allura/allura/model/discuss.py                            |  3 ++-
 Allura/allura/model/project.py                            |  3 ++-
 Allura/allura/tests/functional/test_neighborhood.py       |  3 ++-
 Allura/allura/tests/functional/test_personal_dashboard.py |  3 ++-
 Allura/allura/tests/functional/test_user_profile.py       |  3 ++-
 Allura/allura/tests/unit/test_post_model.py               |  1 +
 Allura/allura/tests/unit/test_session.py                  |  3 ++-
 Allura/allura/version.py                                  |  1 +
 Allura/allura/webhooks.py                                 |  3 ++-
 ForgeBlog/forgeblog/version.py                            |  1 +
 ForgeChat/forgechat/version.py                            |  1 +
 ForgeDiscussion/forgediscussion/version.py                |  1 +
 ForgeFeedback/forgefeedback/version.py                    |  1 +
 ForgeGit/forgegit/version.py                              |  1 +
 ForgeImporters/forgeimporters/github/wiki.py              |  8 ++++----
 ForgeLink/forgelink/version.py                            |  1 +
 ForgeSVN/forgesvn/model/svn.py                            |  3 ++-
 ForgeSVN/forgesvn/svn_main.py                             |  3 ++-
 ForgeSVN/forgesvn/version.py                              |  1 +
 ForgeTracker/forgetracker/tracker_main.py                 |  3 ++-
 ForgeTracker/forgetracker/version.py                      |  1 +
 ForgeUserStats/forgeuserstats/version.py                  |  1 +
 ForgeWiki/forgewiki/version.py                            |  1 +
 scripts/perf/parse_timings.py                             |  1 +
 scripts/teamforge-import.py                               |  9 +++++----
 34 files changed, 64 insertions(+), 31 deletions(-)

diff --git a/Allura/allura/app.py b/Allura/allura/app.py
index 0d2d2a2..17e4943 100644
--- a/Allura/allura/app.py
+++ b/Allura/allura/app.py
@@ -51,6 +51,7 @@ from allura import model as M
 from allura.tasks import index_tasks
 import six
 from io import open
+from six.moves import map
 
 log = logging.getLogger(__name__)
 
@@ -859,7 +860,7 @@ class DefaultAdminController(BaseController, AdminControllerMixin):
     @require_post()
     def unblock_user(self, user_id=None, perm=None, **kw):
         try:
-            user_id = map(ObjectId, user_id)
+            user_id = list(map(ObjectId, user_id))
         except InvalidId:
             user_id = []
         users = model.User.query.find({'_id': {'$in': user_id}}).all()
@@ -1006,9 +1007,9 @@ class DefaultAdminController(BaseController, AdminControllerMixin):
 
             def get_role(_id):
                 return 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)
+            groups = list(map(get_role, group_ids))
+            new_groups = list(map(get_role, new_group_ids))
+            del_groups = list(map(get_role, del_group_ids))
 
             def group_names(groups):
                 return ', '.join((role.name or '<Unnamed>') for role in groups if role)
@@ -1020,7 +1021,7 @@ class DefaultAdminController(BaseController, AdminControllerMixin):
                     group_names(groups + new_groups),
                     self.app.config.options['mount_point']))
 
-            role_ids = map(ObjectId, group_ids + new_group_ids)
+            role_ids = list(map(ObjectId, group_ids + new_group_ids))
             self.app.config.acl += [
                 model.ACE.allow(r, perm) for r in role_ids]
 
diff --git a/Allura/allura/controllers/site_admin.py b/Allura/allura/controllers/site_admin.py
index fb50b2a..14b5ffd 100644
--- a/Allura/allura/controllers/site_admin.py
+++ b/Allura/allura/controllers/site_admin.py
@@ -53,6 +53,7 @@ from six.moves.urllib.parse import urlparse
 from webhelpers import paginate
 import six
 from six.moves import range
+from six.moves import map
 
 
 log = logging.getLogger(__name__)
@@ -300,7 +301,7 @@ class SiteAdminController(object):
         return {
             'q': q,
             'f': f,
-            'objects': map(convert_fields, objects),
+            'objects': list(map(convert_fields, objects)),
             'count': count,
             'page': page,
             'limit': limit,
diff --git a/Allura/allura/ext/admin/admin_main.py b/Allura/allura/ext/admin/admin_main.py
index bda9878..883c2ec 100644
--- a/Allura/allura/ext/admin/admin_main.py
+++ b/Allura/allura/ext/admin/admin_main.py
@@ -54,6 +54,7 @@ from allura.lib.widgets.project_list import ProjectScreenshots
 
 from . import widgets as aw
 import six
+from six.moves import map
 
 
 log = logging.getLogger(__name__)
@@ -1002,7 +1003,7 @@ class PermissionsController(BaseController):
                         'You cannot remove the admin group from the admin permission.', 'warning')
                     group_ids.append(admin_group_id)
             permissions[perm] = []
-            role_ids = map(ObjectId, group_ids + new_group_ids)
+            role_ids = list(map(ObjectId, group_ids + new_group_ids))
             permissions[perm] = role_ids
         c.project.acl = []
         for perm, role_ids in six.iteritems(permissions):
diff --git a/Allura/allura/ext/search/search_main.py b/Allura/allura/ext/search/search_main.py
index 98abc4a..6218c34 100644
--- a/Allura/allura/ext/search/search_main.py
+++ b/Allura/allura/ext/search/search_main.py
@@ -30,6 +30,7 @@ from allura import version
 from allura.lib.search import search_app
 from allura.lib.widgets.search import SearchResults, SearchHelp
 from allura.controllers import BaseController
+from six.moves import map
 
 log = logging.getLogger(__name__)
 
diff --git a/Allura/allura/lib/exceptions.py b/Allura/allura/lib/exceptions.py
index ed7ef0b..43d3643 100644
--- a/Allura/allura/lib/exceptions.py
+++ b/Allura/allura/lib/exceptions.py
@@ -19,6 +19,7 @@ from __future__ import unicode_literals
 from __future__ import absolute_import
 import webob.exc
 from formencode import Invalid
+from six.moves import map
 
 
 class ForgeError(Exception):
diff --git a/Allura/allura/lib/helpers.py b/Allura/allura/lib/helpers.py
index c861136..1efbc39 100644
--- a/Allura/allura/lib/helpers.py
+++ b/Allura/allura/lib/helpers.py
@@ -44,6 +44,7 @@ import emoji
 import tg
 import six
 from six.moves import range
+from six.moves import map
 try:
     import cchardet as chardet
 except ImportError:
@@ -934,7 +935,7 @@ def split_select_field_options(field_options):
         # it's better to pass properly encoded byte-string
         field_options = shlex.split(field_options.encode('utf-8'))
         # convert splitted string back to unicode
-        field_options = map(really_unicode, field_options)
+        field_options = list(map(really_unicode, field_options))
     except ValueError:
         field_options = field_options.split()
         # After regular split field_options might contain a " characters,
diff --git a/Allura/allura/lib/mail_util.py b/Allura/allura/lib/mail_util.py
index 7a425c5..b00019e 100644
--- a/Allura/allura/lib/mail_util.py
+++ b/Allura/allura/lib/mail_util.py
@@ -35,6 +35,7 @@ from tg import app_globals as g
 from allura.lib.utils import ConfigProxy
 from allura.lib import exceptions as exc
 from allura.lib import helpers as h
+from six.moves import map
 
 log = logging.getLogger(__name__)
 
@@ -283,11 +284,11 @@ class SMTPClient(object):
             references = ['<%s>' % r for r in aslist(references)]
             message['References'] = Header(*references)
         content = message.as_string()
-        smtp_addrs = map(_parse_smtp_addr, addrs)
+        smtp_addrs = list(map(_parse_smtp_addr, addrs))
         smtp_addrs = [a for a in smtp_addrs if isvalid(a)]
         if not smtp_addrs:
             log.warning('No valid addrs in %s, so not sending mail',
-                        map(six.text_type, addrs))
+                        list(map(six.text_type, addrs)))
             return
         try:
             self._client.sendmail(
diff --git a/Allura/allura/lib/multifactor.py b/Allura/allura/lib/multifactor.py
index 8e34d24..e39ac28 100644
--- a/Allura/allura/lib/multifactor.py
+++ b/Allura/allura/lib/multifactor.py
@@ -44,6 +44,7 @@ from allura.lib.utils import umask
 import six
 from io import open
 from six.moves import range
+from six.moves import map
 
 
 log = logging.getLogger(__name__)
@@ -300,7 +301,7 @@ class GoogleAuthenticatorPamFilesystemMixin(object):
         rate_limits = gaf.options['RATE_LIMIT'].split(' ')
         num_allowed = int(rate_limits.pop(0))
         time_allowed = int(rate_limits.pop(0))
-        prev_attempts = map(int, rate_limits)
+        prev_attempts = list(map(int, rate_limits))
 
         ok, attempts_in_limit = check_rate_limit(num_allowed, time_allowed, prev_attempts)
 
diff --git a/Allura/allura/lib/utils.py b/Allura/allura/lib/utils.py
index 49151ef..5439482 100644
--- a/Allura/allura/lib/utils.py
+++ b/Allura/allura/lib/utils.py
@@ -62,6 +62,7 @@ from ming.odm import session
 import six
 from six.moves import range
 from six.moves import zip
+from six.moves import map
 
 MARKDOWN_EXTENSIONS = ['.markdown', '.mdown', '.mkdn', '.mkd', '.md']
 
@@ -219,7 +220,7 @@ class AntiSpam(object):
             self.spinner_text = request.params['spinner']
             self.timestamp = int(self.timestamp_text)
             self.spinner = self._unwrap(self.spinner_text)
-        self.spinner_ord = map(ord, self.spinner)
+        self.spinner_ord = list(map(ord, self.spinner))
         self.random_padding = [random.randint(0, 255) for x in self.spinner]
         self.honey_class = self.enc(self.spinner_text, css_safe=True)
 
@@ -269,7 +270,7 @@ class AntiSpam(object):
         plain.encode('ascii')
 
         plain = ([len(plain)]
-                 + map(ord, plain)
+                 + list(map(ord, plain))
                  + self.random_padding[:len(self.spinner_ord) - len(plain) - 1])
         enc = ''.join(six.unichr(p ^ s) for p, s in zip(plain, self.spinner_ord))
         enc = six.ensure_binary(enc)
diff --git a/Allura/allura/model/discuss.py b/Allura/allura/model/discuss.py
index 3f70757..41d2c6d 100644
--- a/Allura/allura/model/discuss.py
+++ b/Allura/allura/model/discuss.py
@@ -44,6 +44,7 @@ from .auth import User, ProjectRole, AlluraUserProperty
 from .timeline import ActivityObject
 from .types import MarkdownCache
 from six.moves import range
+from six.moves import map
 
 log = logging.getLogger(__name__)
 
@@ -624,7 +625,7 @@ class Post(Message, VersionedArtifact, ActivityObject, ReactableArtifact):
 
     def add_multiple_attachments(self, file_info):
         if isinstance(file_info, list):
-            map(self.add_attachment, file_info)
+            list(map(self.add_attachment, file_info))
         else:
             self.add_attachment(file_info)
 
diff --git a/Allura/allura/model/project.py b/Allura/allura/model/project.py
index 23fc27b..5c95d19 100644
--- a/Allura/allura/model/project.py
+++ b/Allura/allura/model/project.py
@@ -63,6 +63,7 @@ from .monq_model import MonQTask
 
 from .filesystem import File
 import six
+from six.moves import map
 
 log = logging.getLogger(__name__)
 
@@ -381,7 +382,7 @@ class Project(SearchIndexable, MappedClass, ActivityNode, ActivityObject):
 
     @memoize
     def icon_sized(self, w):
-        allowed_sizes = map(int, aslist(config.get('project_icon_sizes', '16 24 32 48 64 72 96')))
+        allowed_sizes = list(map(int, aslist(config.get('project_icon_sizes', '16 24 32 48 64 72 96'))))
         if w not in allowed_sizes:
             raise ValueError('Width must be one of {} (see project_icon_sizes in your .ini file)'.format(allowed_sizes))
         if w == DEFAULT_ICON_WIDTH:
diff --git a/Allura/allura/tests/functional/test_neighborhood.py b/Allura/allura/tests/functional/test_neighborhood.py
index fd4e29b..ce23cbe 100644
--- a/Allura/allura/tests/functional/test_neighborhood.py
+++ b/Allura/allura/tests/functional/test_neighborhood.py
@@ -38,6 +38,7 @@ from allura.tests import decorators as td
 from allura.lib import helpers as h
 from allura.lib import utils
 from alluratest.controller import setup_trove_categories
+from six.moves import map
 
 
 class TestNeighborhood(TestController):
@@ -598,7 +599,7 @@ class TestNeighborhood(TestController):
             antispam=True,
             extra_environ=dict(username=str('root')))
         cookies = r.headers.getall('Set-Cookie')
-        flash_msg_cookies = map(six.moves.urllib.parse.unquote, cookies)
+        flash_msg_cookies = list(map(six.moves.urllib.parse.unquote, cookies))
 
         assert any('Internal Error' in cookie for cookie in flash_msg_cookies)
 
diff --git a/Allura/allura/tests/functional/test_personal_dashboard.py b/Allura/allura/tests/functional/test_personal_dashboard.py
index 15a1821..b625ba7 100644
--- a/Allura/allura/tests/functional/test_personal_dashboard.py
+++ b/Allura/allura/tests/functional/test_personal_dashboard.py
@@ -32,6 +32,7 @@ from allura.tests import TestController
 from allura.tests import decorators as td
 from alluratest.controller import setup_global_objects, setup_unit_test
 from forgetracker.tests.functional.test_root import TrackerTestController
+from six.moves import map
 
 
 class TestPersonalDashboard(TestController):
@@ -51,7 +52,7 @@ class TestPersonalDashboard(TestController):
             m.name = n
             m.load()().display.return_value = 'Section %s' % n
             return m
-        eps = map(ep, ['a', 'b', 'c', 'd'])
+        eps = list(map(ep, ['a', 'b', 'c', 'd']))
         order = {'personal_dashboard_sections.order': 'b, d,c , f '}
         with mock.patch('allura.lib.helpers.iter_entry_points') as iep:
             with mock.patch.dict(tg.config, order):
diff --git a/Allura/allura/tests/functional/test_user_profile.py b/Allura/allura/tests/functional/test_user_profile.py
index 71e3848..a6e3ec1 100644
--- a/Allura/allura/tests/functional/test_user_profile.py
+++ b/Allura/allura/tests/functional/test_user_profile.py
@@ -25,6 +25,7 @@ from alluratest.controller import TestRestApiBase
 from allura.model import Project, User
 from allura.tests import decorators as td
 from allura.tests import TestController
+from six.moves import map
 
 
 class TestUserProfile(TestController):
@@ -211,7 +212,7 @@ class TestUserProfile(TestController):
             m.name = n
             m.load()().display.return_value = 'Section %s' % n
             return m
-        eps = map(ep, ['a', 'b', 'c', 'd'])
+        eps = list(map(ep, ['a', 'b', 'c', 'd']))
         order = {'user_profile_sections.order': 'b, d,c , f '}
         if hasattr(type(app), '_sections'):
             delattr(type(app), '_sections')
diff --git a/Allura/allura/tests/unit/test_post_model.py b/Allura/allura/tests/unit/test_post_model.py
index 475c3c6..e99e673 100644
--- a/Allura/allura/tests/unit/test_post_model.py
+++ b/Allura/allura/tests/unit/test_post_model.py
@@ -25,6 +25,7 @@ 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
+from six.moves import map
 
 
 class TestPostModel(WithDatabase):
diff --git a/Allura/allura/tests/unit/test_session.py b/Allura/allura/tests/unit/test_session.py
index 65168ed..601c6b4 100644
--- a/Allura/allura/tests/unit/test_session.py
+++ b/Allura/allura/tests/unit/test_session.py
@@ -31,6 +31,7 @@ from allura.model.session import (
     substitute_extensions,
 )
 from six.moves import range
+from six.moves import map
 
 
 def test_extensions_cm():
@@ -105,7 +106,7 @@ class TestIndexerSessionExtension(TestSessionExtension):
         self.extension.objects_deleted = deleted
         self.extension.after_flush()
         self.tasks['add'].post.assert_called_once_with([1, 2, 3, 4, 5])
-        self.tasks['del'].post.assert_called_once_with(map(id, deleted))
+        self.tasks['del'].post.assert_called_once_with(list(map(id, deleted)))
 
     def test_flush_skips_update(self):
         modified = [self._mock_indexable(_id=i) for i in range(5)]
diff --git a/Allura/allura/version.py b/Allura/allura/version.py
index 10bcc51..753d37a 100644
--- a/Allura/allura/version.py
+++ b/Allura/allura/version.py
@@ -16,5 +16,6 @@
 #       under the License.
 
 from __future__ import unicode_literals
+from six.moves import map
 __version_info__ = (0, 1)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/Allura/allura/webhooks.py b/Allura/allura/webhooks.py
index 31b6bef..dfa6247 100644
--- a/Allura/allura/webhooks.py
+++ b/Allura/allura/webhooks.py
@@ -44,6 +44,7 @@ from allura.lib.decorators import require_post, task
 from allura.lib.utils import DateJSONEncoder
 from allura import model as M
 import six
+from six.moves import map
 
 
 log = logging.getLogger(__name__)
@@ -341,7 +342,7 @@ class SendWebhookHelper(object):
     @property
     def retries(self):
         t = aslist(config.get('webhook.retry', [60, 120, 240]))
-        return map(int, t)
+        return list(map(int, t))
 
     def sign(self, json_payload):
         signature = hmac.new(
diff --git a/ForgeBlog/forgeblog/version.py b/ForgeBlog/forgeblog/version.py
index 192acec..7fde7da 100644
--- a/ForgeBlog/forgeblog/version.py
+++ b/ForgeBlog/forgeblog/version.py
@@ -16,5 +16,6 @@
 #       under the License.
 
 from __future__ import unicode_literals
+from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeChat/forgechat/version.py b/ForgeChat/forgechat/version.py
index 192acec..7fde7da 100644
--- a/ForgeChat/forgechat/version.py
+++ b/ForgeChat/forgechat/version.py
@@ -16,5 +16,6 @@
 #       under the License.
 
 from __future__ import unicode_literals
+from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeDiscussion/forgediscussion/version.py b/ForgeDiscussion/forgediscussion/version.py
index 192acec..7fde7da 100644
--- a/ForgeDiscussion/forgediscussion/version.py
+++ b/ForgeDiscussion/forgediscussion/version.py
@@ -16,5 +16,6 @@
 #       under the License.
 
 from __future__ import unicode_literals
+from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeFeedback/forgefeedback/version.py b/ForgeFeedback/forgefeedback/version.py
index 13480d0..f1464b2 100755
--- a/ForgeFeedback/forgefeedback/version.py
+++ b/ForgeFeedback/forgefeedback/version.py
@@ -16,5 +16,6 @@
 #       under the License.
 
 from __future__ import unicode_literals
+from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeGit/forgegit/version.py b/ForgeGit/forgegit/version.py
index 192acec..7fde7da 100644
--- a/ForgeGit/forgegit/version.py
+++ b/ForgeGit/forgegit/version.py
@@ -16,5 +16,6 @@
 #       under the License.
 
 from __future__ import unicode_literals
+from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeImporters/forgeimporters/github/wiki.py b/ForgeImporters/forgeimporters/github/wiki.py
index 9a0839b..d96a3c1 100644
--- a/ForgeImporters/forgeimporters/github/wiki.py
+++ b/ForgeImporters/forgeimporters/github/wiki.py
@@ -65,6 +65,7 @@ from forgewiki.converters import mediawiki2markdown
 
 
 import logging
+from six.moves import map
 log = logging.getLogger(__name__)
 
 
@@ -195,7 +196,7 @@ class GitHubWikiImporter(ToolImporter):
 
     def _set_available_pages(self, commit):
         pages = [blob.name for blob in commit.tree.traverse()]
-        pages = map(os.path.splitext, pages)
+        pages = list(map(os.path.splitext, pages))
         pages = [self._convert_page_name(name) for name, ext in pages
                  if ext in self.supported_formats]
         self.available_pages = pages
@@ -374,7 +375,7 @@ class GitHubWikiImporter(ToolImporter):
         title = options = None
         if len(link) == 1:
             link = link[0]
-        elif any(map(lambda opt: link[1].startswith(opt), available_options)):
+        elif any([link[1].startswith(opt) for opt in available_options]):
             # second element is option -> first is the link
             link, options = link[0], link[1:]
         else:
@@ -403,8 +404,7 @@ class GitHubWikiImporter(ToolImporter):
         # E.g. if you have two pages: a.md and A.md both [[a]] and [[A]] will refer a.md.
         # We're emulating this behavior using list of all available pages
         try:
-            idx = map(lambda p: p.lower(),
-                      self.available_pages).index(page.lower())
+            idx = [p.lower() for p in self.available_pages].index(page.lower())
         except ValueError:
             idx = None
         if idx is not None:
diff --git a/ForgeLink/forgelink/version.py b/ForgeLink/forgelink/version.py
index 192acec..7fde7da 100644
--- a/ForgeLink/forgelink/version.py
+++ b/ForgeLink/forgelink/version.py
@@ -16,5 +16,6 @@
 #       under the License.
 
 from __future__ import unicode_literals
+from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeSVN/forgesvn/model/svn.py b/ForgeSVN/forgesvn/model/svn.py
index 13c54ad..7370104 100644
--- a/ForgeSVN/forgesvn/model/svn.py
+++ b/ForgeSVN/forgesvn/model/svn.py
@@ -49,6 +49,7 @@ from allura.model.repository import zipdir
 from allura.model import repository as RM
 from io import open
 from six.moves import range
+from six.moves import map
 
 log = logging.getLogger(__name__)
 
@@ -328,7 +329,7 @@ class SVNImplementation(M.RepositoryImplementation):
         commit) and ending with the root (first commit).
         """
         head_revno = self.head
-        return map(self._oid, list(range(head_revno, 0, -1)))
+        return list(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/svn_main.py b/ForgeSVN/forgesvn/svn_main.py
index 3b48259..5fafbf7 100644
--- a/ForgeSVN/forgesvn/svn_main.py
+++ b/ForgeSVN/forgesvn/svn_main.py
@@ -47,6 +47,7 @@ from . import version
 from . import widgets
 from .controllers import BranchBrowser
 from .model.svn import svn_path_exists
+from six.moves import map
 
 log = logging.getLogger(__name__)
 
@@ -206,7 +207,7 @@ class SVNCommitBrowserController(BaseController):
             data['commits'].append(str(commit['id']))
             data['built_tree'][commit['id']] = {
                 'column': 0,
-                'parents': map(str, commit['parents']),
+                'parents': list(map(str, commit['parents'])),
                 'short_id': '[r%s]' % commit['id'],
                 'message': commit['message'],
                 'oid': str(commit['id']),
diff --git a/ForgeSVN/forgesvn/version.py b/ForgeSVN/forgesvn/version.py
index 192acec..7fde7da 100644
--- a/ForgeSVN/forgesvn/version.py
+++ b/ForgeSVN/forgesvn/version.py
@@ -16,5 +16,6 @@
 #       under the License.
 
 from __future__ import unicode_literals
+from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeTracker/forgetracker/tracker_main.py b/ForgeTracker/forgetracker/tracker_main.py
index 2873051..e433ec3 100644
--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -84,6 +84,7 @@ from forgetracker.widgets.bin_form import BinForm
 from forgetracker.widgets.ticket_search import TicketSearchResults, MassEdit, MassEditForm, MassMoveForm
 from forgetracker.widgets.admin_custom_fields import TrackerFieldAdmin, TrackerFieldDisplay
 import six
+from six.moves import map
 
 log = logging.getLogger(__name__)
 
@@ -1861,7 +1862,7 @@ class RootRestController(BaseController, AppRestControllerMixin):
 
         results = TM.Ticket.paged_search(
             c.app.config, c.user, q, limit, page, sort, show_deleted=False)
-        results['tickets'] = map(_convert_ticket, results['tickets'])
+        results['tickets'] = list(map(_convert_ticket, results['tickets']))
         return results
 
     @expose()
diff --git a/ForgeTracker/forgetracker/version.py b/ForgeTracker/forgetracker/version.py
index 192acec..7fde7da 100644
--- a/ForgeTracker/forgetracker/version.py
+++ b/ForgeTracker/forgetracker/version.py
@@ -16,5 +16,6 @@
 #       under the License.
 
 from __future__ import unicode_literals
+from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeUserStats/forgeuserstats/version.py b/ForgeUserStats/forgeuserstats/version.py
index 192acec..7fde7da 100644
--- a/ForgeUserStats/forgeuserstats/version.py
+++ b/ForgeUserStats/forgeuserstats/version.py
@@ -16,5 +16,6 @@
 #       under the License.
 
 from __future__ import unicode_literals
+from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/ForgeWiki/forgewiki/version.py b/ForgeWiki/forgewiki/version.py
index 192acec..7fde7da 100644
--- a/ForgeWiki/forgewiki/version.py
+++ b/ForgeWiki/forgewiki/version.py
@@ -16,5 +16,6 @@
 #       under the License.
 
 from __future__ import unicode_literals
+from six.moves import map
 __version_info__ = (0, 0)
 __version__ = '.'.join(map(str, __version_info__))
diff --git a/scripts/perf/parse_timings.py b/scripts/perf/parse_timings.py
index e85243c..8d32c59 100644
--- a/scripts/perf/parse_timings.py
+++ b/scripts/perf/parse_timings.py
@@ -24,6 +24,7 @@ import json
 from datetime import datetime
 import argparse
 import sys
+from six.moves import map
 
 
 parser = argparse.ArgumentParser(description='Parse TimerMiddleware json lines (e.g. stats.log), filter them, output tab-delimited')
diff --git a/scripts/teamforge-import.py b/scripts/teamforge-import.py
index 0aca4a5..25fa95f 100644
--- a/scripts/teamforge-import.py
+++ b/scripts/teamforge-import.py
@@ -46,6 +46,7 @@ from allura.lib import helpers as h
 from allura.lib import utils
 import six
 from io import open
+from six.moves import map
 
 log = logging.getLogger('teamforge-import')
 
@@ -212,10 +213,10 @@ def get_project(project):
     save(json.dumps(dict(
         data=dict(data),
         access_level=access_level,
-        admins=map(dict, admins),
-        members=map(dict, members),
-        groups=map(dict, groups),
-        categories=map(dict, categories),
+        admins=list(map(dict, admins)),
+        members=list(map(dict, members)),
+        groups=list(map(dict, groups)),
+        categories=list(map(dict, categories)),
     ), default=str),
         project, project.id + '.json')