Przeglądaj źródła

map -> listcomp

Ask Solem 12 lat temu
rodzic
commit
2bf5b4eb0b

+ 9 - 5
celery/__compat__.py

@@ -164,11 +164,15 @@ def recreate_module(name, compat_modules=(), by_module={}, direct={},
     origins = get_origins(by_module)
     compat_modules = COMPAT_MODULES.get(name, ())
 
-    cattrs = dict(_compat_modules=compat_modules,
-                  _all_by_module=by_module, _direct=direct,
-                  _object_origins=origins,
-                  __all__=tuple(set(reduce(operator.add, map(tuple, [
-                                compat_modules, origins, direct, attrs])))))
+    cattrs = dict(
+        _compat_modules=compat_modules,
+        _all_by_module=by_module, _direct=direct,
+        _object_origins=origins,
+        __all__=tuple(set(reduce(
+            operator.add,
+            [tuple(v) for v in [compat_modules, origins, direct, attrs]],
+        ))),
+    )
     new_module = create_module(name, attrs, cls_attrs=cattrs, base=base)
     new_module.__dict__.update(dict((mod, get_compat_module(new_module, mod))
                                for mod in compat_modules))

+ 1 - 1
celery/__init__.py

@@ -9,7 +9,7 @@ from __future__ import absolute_import
 
 SERIES = 'Chiastic Slide'
 VERSION = (3, 0, 17)
-__version__ = '.'.join(map(str, VERSION[0:3])) + ''.join(VERSION[3:])
+__version__ = '.'.join(str(p) for p in VERSION[0:3]) + ''.join(VERSION[3:])
 __author__ = 'Ask Solem'
 __contact__ = 'ask@celeryproject.org'
 __homepage__ = 'http://celeryproject.org'

+ 2 - 2
celery/app/annotations.py

@@ -20,7 +20,7 @@ _first_match_any = firstmethod('annotate_any')
 
 
 def resolve_all(anno, task):
-    return filter(None, (_first_match(anno, task), _first_match_any(anno)))
+    return (r for r in (_first_match(anno, task), _first_match_any(anno)) if r)
 
 
 class MapAnnotation(dict):
@@ -52,4 +52,4 @@ def prepare(annotations):
         return ()
     elif not isinstance(annotations, (list, tuple)):
         annotations = (annotations, )
-    return map(expand_annotation, annotations)
+    return [expand_annotation(anno) for anno in annotations]

+ 1 - 1
celery/app/routes.py

@@ -91,4 +91,4 @@ def prepare(routes):
         return ()
     if not isinstance(routes, (list, tuple)):
         routes = (routes, )
-    return map(expand_route, routes)
+    return [expand_route(route) for route in routes]

+ 2 - 2
celery/app/utils.py

@@ -105,7 +105,7 @@ class Settings(ConfigurationView):
             False
 
         """
-        return self['_'.join(filter(None, parts))]
+        return self['_'.join(part for part in parts if part)]
 
     def humanize(self):
         """Returns a human readable string showing changes to the
@@ -161,7 +161,7 @@ def bugreport(app):
 
     return BUGREPORT_INFO % {
         'system': _platform.system(),
-        'arch': ', '.join(filter(None, _platform.architecture())),
+        'arch': ', '.join(p for p in _platform.architecture() if p),
         'py_i': platforms.pyimplementation(),
         'celery_v': celery.VERSION_BANNER,
         'kombu_v': kombu.__version__,

+ 5 - 5
celery/apps/worker.py

@@ -210,11 +210,11 @@ class Worker(configurated):
         print('purge: Erased %d %s from the queue.\n' % (
             count, pluralize(count, 'message')))
 
-    def tasklist(self, include_builtins=True):
-        tasks = self.app.tasks
-        if not include_builtins:
-            tasks = filter(lambda s: not s.startswith('celery.'), tasks)
-        return '\n'.join('  . %s' % task for task in sorted(tasks))
+    def tasklist(self, include_builtins=True, sep='\n', int_='celery.'):
+        return sep.join(
+            '  . %s' % task for task in sorted(self.app.tasks)
+            if (not task.startswith(int_) if not include_builtins else task)
+        )
 
     def extra_info(self):
         if self.loglevel <= logging.INFO:

+ 1 - 1
celery/backends/base.py

@@ -430,7 +430,7 @@ class KeyValueStoreBackend(BaseDictBackend):
             r = self._mget_to_results(self.mget([self.get_key_for_task(k)
                                                  for k in keys]), keys)
             self._cache.update(r)
-            ids ^= set(map(bytes_to_str, r))
+            ids ^= set(bytes_to_str(v) for v in r)
             for key, value in r.iteritems():
                 yield bytes_to_str(key), value
             if timeout and iterations * interval >= timeout:

+ 1 - 1
celery/bin/base.py

@@ -231,7 +231,7 @@ class Command(object):
             options = dict((k, self.expanduser(v))
                            for k, v in vars(options).iteritems()
                            if not k.startswith('_'))
-        args = map(self.expanduser, args)
+        args = [self.expanduser(v) for v in args]
         self.check_args(args)
         return options, args
 

+ 1 - 1
celery/bin/celery.py

@@ -515,7 +515,7 @@ class _RemoteControl(Command):
         destination = kwargs.get('destination')
         timeout = kwargs.get('timeout') or self.choices[method][0]
         if destination and isinstance(destination, basestring):
-            destination = map(str.strip, destination.split(','))
+            destination = [str.strip(v) for v in destination.split(',')]
 
         try:
             handler = getattr(self, method)

+ 4 - 4
celery/bin/celeryd_multi.py

@@ -430,7 +430,7 @@ def multi_args(p, cmd='celeryd', append='', prefix='', suffix=''):
         except ValueError:
             pass
         else:
-            names = map(str, range(1, noderange + 1))
+            names = [str(v) for v in range(1, noderange + 1)]
             prefix = 'celery'
     cmd = options.pop('--cmd', cmd)
     append = options.pop('--append', append)
@@ -531,19 +531,19 @@ def parse_ns_range(ns, ranges=False):
     for space in ',' in ns and ns.split(',') or [ns]:
         if ranges and '-' in space:
             start, stop = space.split('-')
-            x = map(str, range(int(start), int(stop) + 1))
+            x = [str(v) for v in range(int(start), int(stop) + 1)]
             ret.extend(x)
         else:
             ret.append(space)
     return ret
 
 
-def abbreviations(map):
+def abbreviations(mapping):
 
     def expand(S):
         ret = S
         if S is not None:
-            for short, long in map.items():
+            for short, long in mapping.items():
                 ret = ret.replace(short, long)
         return ret
 

+ 1 - 1
celery/canvas.py

@@ -291,7 +291,7 @@ class chain(Signature):
         return self._type or self.tasks[0].type.app.tasks['celery.chain']
 
     def __repr__(self):
-        return ' | '.join(map(repr, self.tasks))
+        return ' | '.join(repr(t) for t in self.tasks)
 Signature.register_type(chain)
 
 

+ 1 - 1
celery/contrib/rdb.py

@@ -82,7 +82,7 @@ class Rdb(Pdb):
         self.say('%(me)s: Waiting for client...' % context)
 
         self._client, address = self._sock.accept()
-        context['remote_addr'] = ':'.join(map(str, address))
+        context['remote_addr'] = ':'.join(str(v) for v in address)
         self.say('%(me)s: In session with %(remote_addr)s' % context)
         self._handle = sys.stdin = sys.stdout = self._client.makefile('rw')
         Pdb.__init__(self, completekey='tab',

+ 1 - 2
celery/loaders/base.py

@@ -219,8 +219,7 @@ class BaseLoader(object):
                     # display key name in error message.
                     raise ValueError('%r: %s' % (ns_key, exc))
             return ns_key, value
-
-        return dict(map(getarg, args))
+        return dict(getarg(v) for v in args)
 
     def mail_admins(self, subject, body, fail_silently=False,
                     sender=None, to=None, host=None, port=None,

+ 2 - 2
celery/platforms.py

@@ -56,9 +56,9 @@ def pyimplementation():
     elif sys.platform.startswith('java'):
         return 'Jython ' + sys.platform
     elif hasattr(sys, 'pypy_version_info'):
-        v = '.'.join(map(str, sys.pypy_version_info[:3]))
+        v = '.'.join(str(p) for p in sys.pypy_version_info[:3])
         if sys.pypy_version_info[3:]:
-            v += '-' + ''.join(map(str, sys.pypy_version_info[3:]))
+            v += '-' + ''.join(str(p) for p in sys.pypy_version_info[3:])
         return 'PyPy ' + v
     else:
         return 'CPython'

+ 1 - 2
celery/result.py

@@ -13,7 +13,6 @@ import time
 
 from collections import deque
 from copy import copy
-from itertools import imap
 
 from kombu.utils import cached_property
 from kombu.utils.compat import OrderedDict
@@ -381,7 +380,7 @@ class ResultSet(ResultBase):
         :returns: the number of tasks completed.
 
         """
-        return sum(imap(int, (result.successful() for result in self.results)))
+        return sum(int(result.successful()) for result in self.results)
 
     def forget(self):
         """Forget about (and possible remove the result of) all the tasks."""

+ 1 - 1
celery/task/http.py

@@ -111,7 +111,7 @@ class MutableURL(object):
                       ';%s' % params if params else '',
                       '?%s' % query if query else '',
                       '#%s' % fragment if fragment else '']
-        return ''.join(filter(None, components))
+        return ''.join(c for c in components if c)
 
     def __repr__(self):
         return '<%s: %s>' % (self.__class__.__name__, str(self))

+ 2 - 2
celery/utils/__init__.py

@@ -205,7 +205,7 @@ def jsonify(obj):
     if isinstance(obj, (int, float, basestring, types.NoneType)):
         return obj
     elif isinstance(obj, (tuple, list)):
-        return map(jsonify, obj)
+        return [jsonify(v) for v in obj]
     elif isinstance(obj, dict):
         return dict((k, jsonify(v)) for k, v in obj.iteritems())
     # See "Date Time String Format" in the ECMA-262 specification.
@@ -246,7 +246,7 @@ def gen_task_name(app, name, module_name):
             module_name = '__main__'
     if module_name == '__main__' and app.main:
         return '.'.join([app.main, name])
-    return '.'.join(filter(None, [module_name, name]))
+    return '.'.join(p for p in (module_name, name) if p)
 
 # ------------------------------------------------------------------------ #
 # > XXX Compat

+ 1 - 1
celery/utils/debug.py

@@ -41,7 +41,7 @@ def memdump(samples=10):
     if ps() is None:
         print('- rss: (psutil not installed).')
         return
-    if filter(None, _mem_sample):
+    if any(_mem_sample):
         print('- rss (sample):')
         for mem in sample(_mem_sample, samples):
             print('-    > %s,' % mem)

+ 1 - 1
celery/utils/functional.py

@@ -11,7 +11,7 @@ from __future__ import with_statement
 
 import threading
 
-from functools import partial, wraps
+from functools import wraps
 from itertools import islice
 
 from kombu.utils import cached_property

+ 1 - 1
celery/utils/log.py

@@ -144,7 +144,7 @@ class LoggingProxy(object):
 
             handler.handleError = WithSafeHandleError().handleError
 
-        return map(wrap_handler, self.logger.handlers)
+        return [wrap_handler(h) for h in self.logger.handlers]
 
     def write(self, data):
         """Write message to logging object."""

+ 3 - 2
celery/utils/mail.py

@@ -184,8 +184,9 @@ py-celery at %%(hostname)s.
     def should_send(self, context, exc):
         """Returns true or false depending on if a task error mail
         should be sent for this type of error."""
-        allow_classes = tuple(map(symbol_by_name, self.error_whitelist))
-        return not self.error_whitelist or isinstance(exc, allow_classes)
+        return not self.error_whitelist or isinstance(
+            exc, tuple(symbol_by_name(n) for n in self.error_whitelist),
+        )
 
     def format_subject(self, context):
         return self.subject.strip() % context

+ 2 - 2
celery/utils/text.py

@@ -18,7 +18,7 @@ def dedent_initial(s, n=4):
 
 
 def dedent(s, n=4, sep='\n'):
-    return sep.join(map(dedent_initial, s.splitlines()))
+    return sep.join(dedent_initial(l) for l in s.splitlines())
 
 
 def fill_paragraphs(s, width, sep='\n'):
@@ -26,7 +26,7 @@ def fill_paragraphs(s, width, sep='\n'):
 
 
 def join(l, sep='\n'):
-    return sep.join(v for v in l if v))
+    return sep.join(v for v in l if v)
 
 
 def ensure_2lines(s, sep='\n'):

+ 7 - 5
celery/utils/timer2.py

@@ -26,7 +26,7 @@ from celery.utils.timeutils import timedelta_seconds, timezone
 from kombu.log import get_logger
 
 VERSION = (1, 0, 0)
-__version__ = '.'.join(map(str, VERSION))
+__version__ = '.'.join(str(p) for p in VERSION)
 __author__ = 'Ask Solem'
 __contact__ = 'ask@celeryproject.org'
 __homepage__ = 'http://github.com/ask/timer2/'
@@ -71,8 +71,9 @@ class Entry(object):
     if sys.version_info[0] == 3:  # pragma: no cover
 
         def __hash__(self):
-            return hash('|'.join(map(repr, (self.fun, self.args,
-                                            self.kwargs))))
+            return hash('|'.join(
+                repr(v) for v in (self.fun, self.args, self.kwargs)
+            ))
 
         def __lt__(self, other):
             return hash(self) < hash(other)
@@ -217,9 +218,10 @@ class Schedule(object):
         tref.cancel()
 
     @property
-    def queue(self):
+    def queue(self, _pop=heapq.heappop):
+        """Snapshot of underlying datastructure."""
         events = list(self._queue)
-        return map(heapq.heappop, [events] * len(events))
+        return [_pop(i) for i in [events] * len(events)]
 
 
 class Timer(threading.Thread):

+ 15 - 14
celery/worker/control.py

@@ -8,6 +8,7 @@
 """
 from __future__ import absolute_import
 
+import logging
 import os
 
 from datetime import datetime
@@ -152,12 +153,14 @@ def dump_schedule(panel, safe=False, **kwargs):
         logger.debug('--Empty schedule--')
         return []
 
-    formatitem = lambda (i, item): '%s. %s pri%s %r' % (
+    formatitem = lambda i, item: '%s. %s pri%s %r' % (
         i, datetime.utcfromtimestamp(item['eta']),
         item['priority'], item['item'],
     )
-    info = map(formatitem, enumerate(schedule.info()))
-    logger.debug('* Dump of current schedule:\n%s', '\n'.join(info))
+    if logger.isEnabledFor(logging.DEBUG):
+        logger.debug('* Dump of current schedule:\n%s', '\n'.join(
+            formatitem(i, item) for i, item in enumerate(schedule.info())
+        ))
     scheduled_tasks = []
     for info in schedule.info():
         item = info['item']
@@ -176,10 +179,10 @@ def dump_reserved(panel, safe=False, **kwargs):
     if not reserved:
         logger.debug('--Empty queue--')
         return []
-    logger.debug('* Dump of currently reserved tasks:\n%s',
-                 '\n'.join(map(safe_repr, reserved)))
-    return [request.info(safe=safe)
-            for request in reserved]
+    if logger.isEnabledFor(logging.DEBUG):
+        logger.debug('* Dump of currently reserved tasks:\n%s',
+                     '\n'.join(safe_repr(r) for r in reserved))
+    return [request.info(safe=safe) for request in reserved]
 
 
 @Panel.register
@@ -214,17 +217,15 @@ def dump_tasks(panel, taskinfoitems=None, **kwargs):
             (field, str(getattr(task, field, None)))
             for field in taskinfoitems
             if getattr(task, field, None) is not None)
-        info = map('='.join, fields.items())
+        info = ['='.join(f) for f in fields.items()]
         if not info:
             return task.name
         return '%s [%s]' % (task.name, ' '.join(info))
 
-    info = map(
-        _extract_info,
-        (tasks[task] for task in sorted(tasks)),
-    )
-    logger.debug('* Dump of currently registered tasks:\n%s', '\n'.join(info))
-
+    info = [_extract_info(tasks[task]) for task in sorted(tasks)]
+    if logger.isEnabledFor(logging.DEBUG):
+        logger.debug('* Dump of currently registered tasks:\n%s',
+                     '\n'.join(info))
     return info
 
 

+ 4 - 4
celery/worker/hub.py

@@ -176,11 +176,11 @@ class Hub(object):
     def add_writer(self, fd, callback):
         return self.add(fd, callback, WRITE)
 
-    def update_readers(self, map):
-        [self.add_reader(*x) for x in map.iteritems()]
+    def update_readers(self, readers):
+        [self.add_reader(*x) for x in readers.iteritems()]
 
-    def update_writers(self, map):
-        [self.add_writer(*x) for x in map.iteritems()]
+    def update_writers(self, writers):
+        [self.add_writer(*x) for x in writers.iteritems()]
 
     def _unregister(self, fd):
         try: