Browse Source

Do not subclass from object (this is fun)

Ask Solem 8 years ago
parent
commit
99957e2334
100 changed files with 199 additions and 196 deletions
  1. 1 1
      celery/app/amqp.py
  2. 1 1
      celery/app/base.py
  3. 2 2
      celery/app/control.py
  4. 1 1
      celery/app/defaults.py
  5. 1 1
      celery/app/log.py
  6. 2 2
      celery/app/routes.py
  7. 2 2
      celery/app/task.py
  8. 1 1
      celery/app/trace.py
  9. 1 1
      celery/app/utils.py
  10. 2 2
      celery/apps/beat.py
  11. 3 3
      celery/backends/async.py
  12. 2 2
      celery/backends/base.py
  13. 1 1
      celery/backends/cache.py
  14. 1 1
      celery/backends/database/session.py
  15. 3 3
      celery/beat.py
  16. 2 2
      celery/bin/amqp.py
  17. 2 2
      celery/bin/base.py
  18. 1 1
      celery/bin/celeryd_detach.py
  19. 1 1
      celery/bin/graph.py
  20. 1 1
      celery/bin/logtool.py
  21. 2 2
      celery/bin/multi.py
  22. 2 2
      celery/bootsteps.py
  23. 1 1
      celery/canvas.py
  24. 1 1
      celery/concurrency/base.py
  25. 1 1
      celery/contrib/migrate.py
  26. 2 2
      celery/events/__init__.py
  27. 1 1
      celery/events/cursesmon.py
  28. 1 1
      celery/events/dumper.py
  29. 1 1
      celery/events/snapshot.py
  30. 3 3
      celery/events/state.py
  31. 1 1
      celery/five.py
  32. 2 2
      celery/fixups/django.py
  33. 1 1
      celery/loaders/base.py
  34. 1 1
      celery/local.py
  35. 3 3
      celery/platforms.py
  36. 1 1
      celery/result.py
  37. 2 2
      celery/schedules.py
  38. 2 2
      celery/security/certificate.py
  39. 1 1
      celery/security/key.py
  40. 1 1
      celery/security/serialization.py
  41. 1 1
      celery/task/base.py
  42. 1 1
      celery/tests/app/test_annotations.py
  43. 9 9
      celery/tests/app/test_app.py
  44. 2 2
      celery/tests/app/test_beat.py
  45. 2 2
      celery/tests/app/test_log.py
  46. 3 3
      celery/tests/backends/test_amqp.py
  47. 1 1
      celery/tests/backends/test_base.py
  48. 2 2
      celery/tests/backends/test_cache.py
  49. 3 3
      celery/tests/backends/test_cassandra.py
  50. 1 1
      celery/tests/backends/test_database.py
  51. 5 5
      celery/tests/backends/test_redis.py
  52. 1 1
      celery/tests/bin/test_base.py
  53. 1 1
      celery/tests/bin/test_events.py
  54. 1 1
      celery/tests/bin/test_multi.py
  55. 3 3
      celery/tests/bin/test_worker.py
  56. 2 2
      celery/tests/case.py
  57. 5 5
      celery/tests/concurrency/test_prefork.py
  58. 1 1
      celery/tests/events/test_cursesmon.py
  59. 1 1
      celery/tests/events/test_events.py
  60. 2 2
      celery/tests/events/test_snapshot.py
  61. 1 1
      celery/tests/events/test_state.py
  62. 3 2
      celery/tests/utils/test_deprecated.py
  63. 1 1
      celery/tests/utils/test_dispatcher.py
  64. 1 1
      celery/tests/utils/test_encoding.py
  65. 2 2
      celery/tests/utils/test_functional.py
  66. 14 14
      celery/tests/utils/test_local.py
  67. 7 5
      celery/tests/utils/test_platforms.py
  68. 2 2
      celery/tests/utils/test_saferef.py
  69. 4 4
      celery/tests/worker/test_control.py
  70. 2 2
      celery/tests/worker/test_heartbeat.py
  71. 2 2
      celery/tests/worker/test_loops.py
  72. 1 1
      celery/tests/worker/test_request.py
  73. 1 1
      celery/tests/worker/test_state.py
  74. 1 1
      celery/tests/worker/test_strategy.py
  75. 2 2
      celery/tests/worker/test_worker.py
  76. 1 1
      celery/utils/abstract.py
  77. 5 5
      celery/utils/collections.py
  78. 1 1
      celery/utils/deprecated.py
  79. 1 1
      celery/utils/dispatch/saferef.py
  80. 1 1
      celery/utils/dispatch/signal.py
  81. 1 1
      celery/utils/functional.py
  82. 2 2
      celery/utils/graph.py
  83. 1 1
      celery/utils/log.py
  84. 2 2
      celery/utils/objects.py
  85. 1 1
      celery/utils/saferepr.py
  86. 1 1
      celery/utils/sysinfo.py
  87. 1 1
      celery/utils/term.py
  88. 3 3
      celery/utils/threads.py
  89. 2 2
      celery/utils/timeutils.py
  90. 1 1
      celery/worker/__init__.py
  91. 1 1
      celery/worker/consumer/consumer.py
  92. 1 1
      celery/worker/heartbeat.py
  93. 1 1
      celery/worker/pidbox.py
  94. 1 1
      celery/worker/request.py
  95. 1 1
      celery/worker/state.py
  96. 1 1
      docs/internals/app-overview.rst
  97. 6 6
      docs/internals/guide.rst
  98. 4 3
      docs/userguide/application.rst
  99. 3 3
      docs/userguide/configuration.rst
  100. 4 5
      docs/userguide/routing.rst

+ 1 - 1
celery/app/amqp.py

@@ -209,7 +209,7 @@ class Queues(dict):
         return self
         return self
 
 
 
 
-class AMQP(object):
+class AMQP:
     Connection = Connection
     Connection = Connection
     Consumer = Consumer
     Consumer = Consumer
     Producer = Producer
     Producer = Producer

+ 1 - 1
celery/app/base.py

@@ -104,7 +104,7 @@ class PendingConfiguration(UserDict, AttributeDictMixin):
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class Celery(object):
+class Celery:
     """Celery application.
     """Celery application.
 
 
     Arguments:
     Arguments:

+ 2 - 2
celery/app/control.py

@@ -40,7 +40,7 @@ def flatten_reply(reply):
     return nodes
     return nodes
 
 
 
 
-class Inspect(object):
+class Inspect:
     app = None
     app = None
 
 
     def __init__(self, destination=None, timeout=1, callback=None,
     def __init__(self, destination=None, timeout=1, callback=None,
@@ -121,7 +121,7 @@ class Inspect(object):
         return self._request('objgraph', num=n, max_depth=max_depth, type=type)
         return self._request('objgraph', num=n, max_depth=max_depth, type=type)
 
 
 
 
-class Control(object):
+class Control:
     Mailbox = Mailbox
     Mailbox = Mailbox
 
 
     def __init__(self, app=None):
     def __init__(self, app=None):

+ 1 - 1
celery/app/defaults.py

@@ -52,7 +52,7 @@ def old_ns(ns):
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class Option(object):
+class Option:
     alt = None
     alt = None
     deprecate_by = None
     deprecate_by = None
     remove_by = None
     remove_by = None

+ 1 - 1
celery/app/log.py

@@ -47,7 +47,7 @@ class TaskFormatter(ColorFormatter):
         return ColorFormatter.format(self, record)
         return ColorFormatter.format(self, record)
 
 
 
 
-class Logging(object):
+class Logging:
     #: The logging subsystem is only configured once per process.
     #: The logging subsystem is only configured once per process.
     #: setup_logging_subsystem sets this flag, and subsequent calls
     #: setup_logging_subsystem sets this flag, and subsequent calls
     #: will do nothing.
     #: will do nothing.

+ 2 - 2
celery/app/routes.py

@@ -26,7 +26,7 @@ def glob_to_re(glob, quote=string.punctuation.replace('*', '')):
     return glob.replace('*', '.+?')
     return glob.replace('*', '.+?')
 
 
 
 
-class MapRoute(object):
+class MapRoute:
     """Creates a router out of a :class:`dict`."""
     """Creates a router out of a :class:`dict`."""
 
 
     def __init__(self, map):
     def __init__(self, map):
@@ -56,7 +56,7 @@ class MapRoute(object):
                     return {'queue': route}
                     return {'queue': route}
 
 
 
 
-class Router(object):
+class Router:
 
 
     def __init__(self, routes=None, queues=None,
     def __init__(self, routes=None, queues=None,
                  create_missing=False, app=None):
                  create_missing=False, app=None):

+ 2 - 2
celery/app/task.py

@@ -60,7 +60,7 @@ def _reprtask(task, fmt=None, flags=None):
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class Context(object):
+class Context:
     logfile = None
     logfile = None
     loglevel = None
     loglevel = None
     hostname = None
     hostname = None
@@ -136,7 +136,7 @@ class Context(object):
 
 
 @abstract.CallableTask.register
 @abstract.CallableTask.register
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class Task(object):
+class Task:
     """Task base class.
     """Task base class.
 
 
     When called tasks apply the :meth:`run` method.  This method must
     When called tasks apply the :meth:`run` method.  This method must

+ 1 - 1
celery/app/trace.py

@@ -133,7 +133,7 @@ def get_log_policy(task, einfo, exc):
         return log_policy_unexpected
         return log_policy_unexpected
 
 
 
 
-class TraceInfo(object):
+class TraceInfo:
     __slots__ = ('state', 'retval')
     __slots__ = ('state', 'retval')
 
 
     def __init__(self, state, retval=None):
     def __init__(self, state, retval=None):

+ 1 - 1
celery/app/utils.py

@@ -232,7 +232,7 @@ def detect_settings(conf, preconf={}, ignore_keys=set(), prefix=None,
     return Settings(preconf, [conf, defaults], info.key_t, prefix=prefix)
     return Settings(preconf, [conf, defaults], info.key_t, prefix=prefix)
 
 
 
 
-class AppPickler(object):
+class AppPickler:
     """Old application pickler/unpickler (< 3.1)."""
     """Old application pickler/unpickler (< 3.1)."""
 
 
     def __call__(self, cls, *args):
     def __call__(self, cls, *args):

+ 2 - 2
celery/apps/beat.py

@@ -35,9 +35,9 @@ Configuration ->
 logger = get_logger('celery.beat')
 logger = get_logger('celery.beat')
 
 
 
 
-class Beat(object):
-
+class Beat:
     Service = beat.Service
     Service = beat.Service
+
     app = None
     app = None
 
 
     def __init__(self, max_interval=None, app=None,
     def __init__(self, max_interval=None, app=None,

+ 3 - 3
celery/backends/async.py

@@ -26,7 +26,7 @@ def register_drainer(name):
 
 
 
 
 @register_drainer('default')
 @register_drainer('default')
-class Drainer(object):
+class Drainer:
 
 
     def __init__(self, result_consumer):
     def __init__(self, result_consumer):
         self.result_consumer = result_consumer
         self.result_consumer = result_consumer
@@ -97,7 +97,7 @@ class geventDrainer(greenletDrainer):
         return spawn
         return spawn
 
 
 
 
-class AsyncBackendMixin(object):
+class AsyncBackendMixin:
 
 
     def _collect_into(self, result, bucket):
     def _collect_into(self, result, bucket):
         self.result_consumer.buckets[result] = bucket
         self.result_consumer.buckets[result] = bucket
@@ -176,7 +176,7 @@ class AsyncBackendMixin(object):
         return True
         return True
 
 
 
 
-class BaseResultConsumer(object):
+class BaseResultConsumer:
 
 
     def __init__(self, backend, app, accept,
     def __init__(self, backend, app, accept,
                  pending_results, pending_messages):
                  pending_results, pending_messages):

+ 2 - 2
celery/backends/base.py

@@ -66,7 +66,7 @@ class _nulldict(dict):
     __setitem__ = update = setdefault = ignore
     __setitem__ = update = setdefault = ignore
 
 
 
 
-class Backend(object):
+class Backend:
 
 
     READY_STATES = states.READY_STATES
     READY_STATES = states.READY_STATES
     UNREADY_STATES = states.UNREADY_STATES
     UNREADY_STATES = states.UNREADY_STATES
@@ -404,7 +404,7 @@ class Backend(object):
         return (unpickle_backend, (self.__class__, args, kwargs))
         return (unpickle_backend, (self.__class__, args, kwargs))
 
 
 
 
-class SyncBackendMixin(object):
+class SyncBackendMixin:
 
 
     def iter_native(self, result, timeout=None, interval=0.5, no_ack=True,
     def iter_native(self, result, timeout=None, interval=0.5, no_ack=True,
                     on_message=None, on_interval=None):
                     on_message=None, on_interval=None):

+ 1 - 1
celery/backends/cache.py

@@ -57,7 +57,7 @@ def get_best_memcache(*args, **kwargs):
     return Client, key_t
     return Client, key_t
 
 
 
 
-class DummyClient(object):
+class DummyClient:
 
 
     def __init__(self, *args, **kwargs):
     def __init__(self, *args, **kwargs):
         self.cache = LRUCache(limit=5000)
         self.cache = LRUCache(limit=5000)

+ 1 - 1
celery/backends/database/session.py

@@ -18,7 +18,7 @@ def _after_fork_cleanup_session(session):
     session._after_fork()
     session._after_fork()
 
 
 
 
-class SessionManager(object):
+class SessionManager:
 
 
     def __init__(self):
     def __init__(self):
         self._engines = {}
         self._engines = {}

+ 3 - 3
celery/beat.py

@@ -51,7 +51,7 @@ class SchedulingError(Exception):
 
 
 @total_ordering
 @total_ordering
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class ScheduleEntry(object):
+class ScheduleEntry:
     """An entry in the scheduler.
     """An entry in the scheduler.
 
 
     Arguments:
     Arguments:
@@ -156,7 +156,7 @@ class ScheduleEntry(object):
         return NotImplemented
         return NotImplemented
 
 
 
 
-class Scheduler(object):
+class Scheduler:
     """Scheduler for periodic tasks.
     """Scheduler for periodic tasks.
 
 
     The :program:`celery beat` program may instantiate this class
     The :program:`celery beat` program may instantiate this class
@@ -493,7 +493,7 @@ class PersistentScheduler(Scheduler):
         return '    . db -> {self.schedule_filename}'.format(self=self)
         return '    . db -> {self.schedule_filename}'.format(self=self)
 
 
 
 
-class Service(object):
+class Service:
     scheduler_cls = PersistentScheduler
     scheduler_cls = PersistentScheduler
 
 
     def __init__(self, app, max_interval=None, schedule_filename=None,
     def __init__(self, app, max_interval=None, schedule_filename=None,

+ 2 - 2
celery/bin/amqp.py

@@ -39,7 +39,7 @@ Example:
 say = partial(print, file=sys.stderr)
 say = partial(print, file=sys.stderr)
 
 
 
 
-class Spec(object):
+class Spec:
     """AMQP Command specification.
     """AMQP Command specification.
 
 
     Used to convert arguments to Python values and display various help
     Used to convert arguments to Python values and display various help
@@ -306,7 +306,7 @@ class AMQShell(cmd.Cmd):
         return self.prompt_fmt.format(self=self)
         return self.prompt_fmt.format(self=self)
 
 
 
 
-class AMQPAdmin(object):
+class AMQPAdmin:
     """The celery :program:`celery amqp` utility."""
     """The celery :program:`celery amqp` utility."""
 
 
     Shell = AMQShell
     Shell = AMQShell

+ 2 - 2
celery/bin/base.py

@@ -70,7 +70,7 @@ class UsageError(Error):
     status = EX_USAGE
     status = EX_USAGE
 
 
 
 
-class Extensions(object):
+class Extensions:
 
 
     def __init__(self, namespace, register):
     def __init__(self, namespace, register):
         self.names = []
         self.names = []
@@ -111,7 +111,7 @@ class HelpFormatter(IndentedHelpFormatter):
             text.fill_paragraphs(text.dedent(description), self.width))
             text.fill_paragraphs(text.dedent(description), self.width))
 
 
 
 
-class Command(object):
+class Command:
     """Base class for command-line applications.
     """Base class for command-line applications.
 
 
     Arguments:
     Arguments:

+ 1 - 1
celery/bin/celeryd_detach.py

@@ -106,7 +106,7 @@ class PartialOptionParser(OptionParser):
                 self.leftovers.append(rargs.pop(0))
                 self.leftovers.append(rargs.pop(0))
 
 
 
 
-class detached_celeryd(object):
+class detached_celeryd:
     usage = '%prog [options] [celeryd options]'
     usage = '%prog [options] [celeryd options]'
     version = celery.VERSION_BANNER
     version = celery.VERSION_BANNER
     description = ('Detaches Celery worker nodes.  See `celery worker --help` '
     description = ('Detaches Celery worker nodes.  See `celery worker --help` '

+ 1 - 1
celery/bin/graph.py

@@ -56,7 +56,7 @@ class graph(Command):
                                          node._label.split('://')[0])
                                          node._label.split('://')[0])
 
 
         @python_2_unicode_compatible
         @python_2_unicode_compatible
-        class Node(object):
+        class Node:
             force_label = None
             force_label = None
             scheme = {}
             scheme = {}
 
 

+ 1 - 1
celery/bin/logtool.py

@@ -48,7 +48,7 @@ def task_info(line):
     return m.groups()
     return m.groups()
 
 
 
 
-class Audit(object):
+class Audit:
 
 
     def __init__(self, on_task_error=None, on_trace=None, on_debug=None):
     def __init__(self, on_task_error=None, on_trace=None, on_debug=None):
         self.ids = set()
         self.ids = set()

+ 2 - 2
celery/bin/multi.py

@@ -158,7 +158,7 @@ def celery_exe(*args):
     return ' '.join((CELERY_EXE,) + args)
     return ' '.join((CELERY_EXE,) + args)
 
 
 
 
-class MultiTool(object):
+class MultiTool:
     retcode = 0  # Final exit code.
     retcode = 0  # Final exit code.
 
 
     def __init__(self, env=None, fh=None, quiet=False, verbose=False,
     def __init__(self, env=None, fh=None, quiet=False, verbose=False,
@@ -545,7 +545,7 @@ def _get_nodename(name, prefix, suffix, options):
         return name, nodename, expand
         return name, nodename, expand
 
 
 
 
-class NamespacedOptionParser(object):
+class NamespacedOptionParser:
 
 
     def __init__(self, args):
     def __init__(self, args):
         self.args = args
         self.args = args

+ 2 - 2
celery/bootsteps.py

@@ -74,7 +74,7 @@ class StepFormatter(GraphFormatter):
         return self.draw_edge(a, b, self.edge_scheme, attrs)
         return self.draw_edge(a, b, self.edge_scheme, attrs)
 
 
 
 
-class Blueprint(object):
+class Blueprint:
     """Blueprint containing bootsteps that can be applied to objects.
     """Blueprint containing bootsteps that can be applied to objects.
 
 
     Arguments:
     Arguments:
@@ -292,7 +292,7 @@ class StepType(type):
 
 
 
 
 @with_metaclass(StepType)
 @with_metaclass(StepType)
-class Step(object):
+class Step:
     """A Bootstep.
     """A Bootstep.
 
 
     The :meth:`__init__` method is called when the step
     The :meth:`__init__` method is called when the step

+ 1 - 1
celery/canvas.py

@@ -39,7 +39,7 @@ PY3 = sys.version_info[0] == 3
 JSON_NEEDS_UNICODE_KEYS = PY3 and not try_import('simplejson')
 JSON_NEEDS_UNICODE_KEYS = PY3 and not try_import('simplejson')
 
 
 
 
-class _getitem_property(object):
+class _getitem_property:
     """Attribute -> dict key descriptor.
     """Attribute -> dict key descriptor.
 
 
     The target object must support ``__getitem__``,
     The target object must support ``__getitem__``,

+ 1 - 1
celery/concurrency/base.py

@@ -44,7 +44,7 @@ def apply_target(target, args=(), kwargs={}, callback=None,
         callback(ret)
         callback(ret)
 
 
 
 
-class BasePool(object):
+class BasePool:
     RUN = 0x1
     RUN = 0x1
     CLOSE = 0x2
     CLOSE = 0x2
     TERMINATE = 0x3
     TERMINATE = 0x3

+ 1 - 1
celery/contrib/migrate.py

@@ -33,7 +33,7 @@ class StopFiltering(Exception):
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class State(object):
+class State:
     count = 0
     count = 0
     filtered = 0
     filtered = 0
     total_apx = 0
     total_apx = 0

+ 2 - 2
celery/events/__init__.py

@@ -72,7 +72,7 @@ def group_from(type):
     return type.split('-', 1)[0]
     return type.split('-', 1)[0]
 
 
 
 
-class EventDispatcher(object):
+class EventDispatcher:
     """Dispatches event messages.
     """Dispatches event messages.
 
 
     Arguments:
     Arguments:
@@ -405,7 +405,7 @@ class EventReceiver(ConsumerMixin):
         return self.channel.connection.client if self.channel else None
         return self.channel.connection.client if self.channel else None
 
 
 
 
-class Events(object):
+class Events:
 
 
     def __init__(self, app=None):
     def __init__(self, app=None):
         self.app = app
         self.app = app

+ 1 - 1
celery/events/cursesmon.py

@@ -36,7 +36,7 @@ events: {s.event_count} tasks:{s.task_count} workers:{w_alive}/{w_all}
 """
 """
 
 
 
 
-class CursesMonitor(object):  # pragma: no cover
+class CursesMonitor:  # pragma: no cover
     keymap = {}
     keymap = {}
     win = None
     win = None
     screen_width = None
     screen_width = None

+ 1 - 1
celery/events/dumper.py

@@ -37,7 +37,7 @@ def humanize_type(type):
         return type.lower().replace('-', ' ')
         return type.lower().replace('-', ' ')
 
 
 
 
-class Dumper(object):
+class Dumper:
 
 
     def __init__(self, out=sys.stdout):
     def __init__(self, out=sys.stdout):
         self.out = out
         self.out = out

+ 1 - 1
celery/events/snapshot.py

@@ -24,7 +24,7 @@ __all__ = ['Polaroid', 'evcam']
 logger = get_logger('celery.evcam')
 logger = get_logger('celery.evcam')
 
 
 
 
-class Polaroid(object):
+class Polaroid:
 
 
     timer = None
     timer = None
     shutter_signal = Signal(providing_args=('state',))
     shutter_signal = Signal(providing_args=('state',))

+ 3 - 3
celery/events/state.py

@@ -146,7 +146,7 @@ def with_unique_field(attr):
 
 
 @with_unique_field('hostname')
 @with_unique_field('hostname')
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class Worker(object):
+class Worker:
     """Worker State."""
     """Worker State."""
     heartbeat_max = 4
     heartbeat_max = 4
     expire_window = HEARTBEAT_EXPIRE_WINDOW
     expire_window = HEARTBEAT_EXPIRE_WINDOW
@@ -239,7 +239,7 @@ class Worker(object):
 
 
 @with_unique_field('uuid')
 @with_unique_field('uuid')
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class Task(object):
+class Task:
     """Task State."""
     """Task State."""
     name = received = sent = started = succeeded = failed = retried = \
     name = received = sent = started = succeeded = failed = retried = \
         revoked = rejected = args = kwargs = eta = expires = retries = \
         revoked = rejected = args = kwargs = eta = expires = retries = \
@@ -374,7 +374,7 @@ class Task(object):
         return self.root_id and self.cluster_state.tasks[self.root_id]
         return self.root_id and self.cluster_state.tasks[self.root_id]
 
 
 
 
-class State(object):
+class State:
     """Records clusters state."""
     """Records clusters state."""
     Worker = Worker
     Worker = Worker
     Task = Task
     Task = Task

+ 1 - 1
celery/five.py

@@ -104,7 +104,7 @@ COMPAT_MODULES = {
 }
 }
 
 
 
 
-class class_property(object):
+class class_property:
 
 
     def __init__(self, getter=None, setter=None):
     def __init__(self, getter=None, setter=None):
         if getter is not None and not isinstance(getter, classmethod):
         if getter is not None and not isinstance(getter, classmethod):

+ 2 - 2
celery/fixups/django.py

@@ -47,7 +47,7 @@ def fixup(app, env='DJANGO_SETTINGS_MODULE'):
             return DjangoFixup(app).install()
             return DjangoFixup(app).install()
 
 
 
 
-class DjangoFixup(object):
+class DjangoFixup:
 
 
     def __init__(self, app):
     def __init__(self, app):
         self.app = app
         self.app = app
@@ -102,7 +102,7 @@ class DjangoFixup(object):
             return datetime.now
             return datetime.now
 
 
 
 
-class DjangoWorkerFixup(object):
+class DjangoWorkerFixup:
     _db_recycles = 0
     _db_recycles = 0
 
 
     def __init__(self, app):
     def __init__(self, app):

+ 1 - 1
celery/loaders/base.py

@@ -36,7 +36,7 @@ Did you mean '{suggest}'?
 unconfigured = object()
 unconfigured = object()
 
 
 
 
-class BaseLoader(object):
+class BaseLoader:
     """The base class for loaders.
     """The base class for loaders.
 
 
     Loaders handles,
     Loaders handles,

+ 1 - 1
celery/local.py

@@ -49,7 +49,7 @@ def try_import(module, default=None):
         return default
         return default
 
 
 
 
-class Proxy(object):
+class Proxy:
     """Proxy to another object."""
     """Proxy to another object."""
 
 
     # Code stolen from werkzeug.local.Proxy.
     # Code stolen from werkzeug.local.Proxy.

+ 3 - 3
celery/platforms.py

@@ -115,7 +115,7 @@ class LockFailed(Exception):
     """Raised if a PID lock can't be acquired."""
     """Raised if a PID lock can't be acquired."""
 
 
 
 
-class Pidfile(object):
+class Pidfile:
     """Pidfile
     """Pidfile
 
 
     This is the type returned by :func:`create_pidlock`.
     This is the type returned by :func:`create_pidlock`.
@@ -286,7 +286,7 @@ def fd_by_path(paths):
     return [_fd for _fd in range(get_fdmax(2048)) if fd_in_stats(_fd)]
     return [_fd for _fd in range(get_fdmax(2048)) if fd_in_stats(_fd)]
 
 
 
 
-class DaemonContext(object):
+class DaemonContext:
 
 
     _is_open = False
     _is_open = False
 
 
@@ -551,7 +551,7 @@ def maybe_drop_privileges(uid=None, gid=None):
         raise AssertionError('Still root gid after drop privileges!')
         raise AssertionError('Still root gid after drop privileges!')
 
 
 
 
-class Signals(object):
+class Signals:
     """Convenience interface to :mod:`signals`.
     """Convenience interface to :mod:`signals`.
 
 
     If the requested signal is not supported on the current platform,
     If the requested signal is not supported on the current platform,

+ 1 - 1
celery/result.py

@@ -54,7 +54,7 @@ def allow_join_result():
         _set_task_join_will_block(reset_value)
         _set_task_join_will_block(reset_value)
 
 
 
 
-class ResultBase(object):
+class ResultBase:
     """Base class for all results"""
     """Base class for all results"""
 
 
     #: Parent result (if part of a chain)
     #: Parent result (if part of a chain)

+ 2 - 2
celery/schedules.py

@@ -63,7 +63,7 @@ class ParseException(Exception):
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class schedule(object):
+class schedule:
     """Schedule for periodic task.
     """Schedule for periodic task.
 
 
     Arguments:
     Arguments:
@@ -173,7 +173,7 @@ class schedule(object):
         return dt
         return dt
 
 
 
 
-class crontab_parser(object):
+class crontab_parser:
     """Parser for Crontab expressions. Any expression of the form 'groups'
     """Parser for Crontab expressions. Any expression of the form 'groups'
     (see BNF grammar below) is accepted and expanded to a set of numbers.
     (see BNF grammar below) is accepted and expanded to a set of numbers.
     These numbers represent the units of time that the Crontab needs to
     These numbers represent the units of time that the Crontab needs to

+ 2 - 2
celery/security/certificate.py

@@ -15,7 +15,7 @@ from .utils import crypto, reraise_errors
 __all__ = ['Certificate', 'CertStore', 'FSCertStore']
 __all__ = ['Certificate', 'CertStore', 'FSCertStore']
 
 
 
 
-class Certificate(object):
+class Certificate:
     """X.509 certificate."""
     """X.509 certificate."""
 
 
     def __init__(self, cert):
     def __init__(self, cert):
@@ -46,7 +46,7 @@ class Certificate(object):
             crypto.verify(self._cert, signature, data, digest)
             crypto.verify(self._cert, signature, data, digest)
 
 
 
 
-class CertStore(object):
+class CertStore:
     """Base class for certificate stores"""
     """Base class for certificate stores"""
 
 
     def __init__(self):
     def __init__(self):

+ 1 - 1
celery/security/key.py

@@ -9,7 +9,7 @@ from .utils import crypto, reraise_errors
 __all__ = ['PrivateKey']
 __all__ = ['PrivateKey']
 
 
 
 
-class PrivateKey(object):
+class PrivateKey:
 
 
     def __init__(self, key):
     def __init__(self, key):
         with reraise_errors('Invalid private key: {0!r}'):
         with reraise_errors('Invalid private key: {0!r}'):

+ 1 - 1
celery/security/serialization.py

@@ -18,7 +18,7 @@ __all__ = ['SecureSerializer', 'register_auth']
 PY3 = sys.version_info[0] == 3
 PY3 = sys.version_info[0] == 3
 
 
 
 
-class SecureSerializer(object):
+class SecureSerializer:
 
 
     def __init__(self, key=None, cert=None, cert_store=None,
     def __init__(self, key=None, cert=None, cert_store=None,
                  digest='sha1', serializer='json'):
                  digest='sha1', serializer='json'):

+ 1 - 1
celery/task/base.py

@@ -31,7 +31,7 @@ _COMPAT_CLASSMETHODS = (
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class _CompatShared(object):
+class _CompatShared:
 
 
     def __init__(self, name, cons):
     def __init__(self, name, cons):
         self.name = name
         self.name = name

+ 1 - 1
celery/tests/app/test_annotations.py

@@ -6,7 +6,7 @@ from celery.utils.imports import qualname
 from celery.tests.case import AppCase
 from celery.tests.case import AppCase
 
 
 
 
-class MyAnnotation(object):
+class MyAnnotation:
     foo = 65
     foo = 65
 
 
 
 

+ 9 - 9
celery/tests/app/test_app.py

@@ -37,7 +37,7 @@ from celery.utils.objects import Bunch
 THIS_IS_A_KEY = 'this is a value'
 THIS_IS_A_KEY = 'this is a value'
 
 
 
 
-class ObjectConfig(object):
+class ObjectConfig:
     FOO = 1
     FOO = 1
     BAR = 2
     BAR = 2
 
 
@@ -45,7 +45,7 @@ object_config = ObjectConfig()
 dict_config = dict(FOO=10, BAR=20)
 dict_config = dict(FOO=10, BAR=20)
 
 
 
 
-class ObjectConfig2(object):
+class ObjectConfig2:
     LEAVE_FOR_WORK = True
     LEAVE_FOR_WORK = True
     MOMENT_TO_STOP = True
     MOMENT_TO_STOP = True
     CALL_ME_BACK = 123456789
     CALL_ME_BACK = 123456789
@@ -542,7 +542,7 @@ class test_App(AppCase):
 
 
     def test_config_from_object__compat(self):
     def test_config_from_object__compat(self):
 
 
-        class Config(object):
+        class Config:
             CELERY_ALWAYS_EAGER = 44
             CELERY_ALWAYS_EAGER = 44
             CELERY_DEFAULT_DELIVERY_MODE = 30
             CELERY_DEFAULT_DELIVERY_MODE = 30
             CELERY_TASK_PUBLISH_RETRY = False
             CELERY_TASK_PUBLISH_RETRY = False
@@ -555,7 +555,7 @@ class test_App(AppCase):
 
 
     def test_config_from_object__supports_old_names(self):
     def test_config_from_object__supports_old_names(self):
 
 
-        class Config(object):
+        class Config:
             task_always_eager = 45
             task_always_eager = 45
             task_default_delivery_mode = 301
             task_default_delivery_mode = 301
 
 
@@ -568,7 +568,7 @@ class test_App(AppCase):
 
 
     def test_config_from_object__namespace_uppercase(self):
     def test_config_from_object__namespace_uppercase(self):
 
 
-        class Config(object):
+        class Config:
             CELERY_TASK_ALWAYS_EAGER = 44
             CELERY_TASK_ALWAYS_EAGER = 44
             CELERY_TASK_DEFAULT_DELIVERY_MODE = 301
             CELERY_TASK_DEFAULT_DELIVERY_MODE = 301
 
 
@@ -577,7 +577,7 @@ class test_App(AppCase):
 
 
     def test_config_from_object__namespace_lowercase(self):
     def test_config_from_object__namespace_lowercase(self):
 
 
-        class Config(object):
+        class Config:
             celery_task_always_eager = 44
             celery_task_always_eager = 44
             celery_task_default_delivery_mode = 301
             celery_task_default_delivery_mode = 301
 
 
@@ -586,7 +586,7 @@ class test_App(AppCase):
 
 
     def test_config_from_object__mixing_new_and_old(self):
     def test_config_from_object__mixing_new_and_old(self):
 
 
-        class Config(object):
+        class Config:
             task_always_eager = 44
             task_always_eager = 44
             worker_agent = 'foo:Agent'
             worker_agent = 'foo:Agent'
             worker_consumer = 'foo:Consumer'
             worker_consumer = 'foo:Consumer'
@@ -601,7 +601,7 @@ class test_App(AppCase):
 
 
     def test_config_from_object__mixing_old_and_new(self):
     def test_config_from_object__mixing_old_and_new(self):
 
 
-        class Config(object):
+        class Config:
             CELERY_ALWAYS_EAGER = 46
             CELERY_ALWAYS_EAGER = 46
             CELERYD_AGENT = 'foo:Agent'
             CELERYD_AGENT = 'foo:Agent'
             CELERYD_CONSUMER = 'foo:Consumer'
             CELERYD_CONSUMER = 'foo:Consumer'
@@ -851,7 +851,7 @@ class test_App(AppCase):
 
 
     def test_send_task_sent_event(self):
     def test_send_task_sent_event(self):
 
 
-        class Dispatcher(object):
+        class Dispatcher:
             sent = []
             sent = []
 
 
             def publish(self, type, fields, *args, **kwargs):
             def publish(self, type, fields, *args, **kwargs):

+ 2 - 2
celery/tests/app/test_beat.py

@@ -25,7 +25,7 @@ class MockShelve(dict):
         self.synced = True
         self.synced = True
 
 
 
 
-class MockService(object):
+class MockService:
     started = False
     started = False
     stopped = False
     stopped = False
 
 
@@ -494,7 +494,7 @@ class test_EmbeddedService(AppCase):
         self.assertIsInstance(s.service, beat.Service)
         self.assertIsInstance(s.service, beat.Service)
         s.service = MockService()
         s.service = MockService()
 
 
-        class _Popen(object):
+        class _Popen:
             terminated = False
             terminated = False
 
 
             def terminate(self):
             def terminate(self):

+ 2 - 2
celery/tests/app/test_log.py

@@ -29,7 +29,7 @@ from celery.tests.case import AppCase, Mock, mock, patch, skip
 class test_TaskFormatter(AppCase):
 class test_TaskFormatter(AppCase):
 
 
     def test_no_task(self):
     def test_no_task(self):
-        class Record(object):
+        class Record:
             msg = 'hello world'
             msg = 'hello world'
             levelname = 'info'
             levelname = 'info'
             exc_text = exc_info = None
             exc_text = exc_info = None
@@ -136,7 +136,7 @@ class test_ColorFormatter(AppCase):
         safe_str.side_effect = on_safe_str
         safe_str.side_effect = on_safe_str
 
 
         @python_2_unicode_compatible
         @python_2_unicode_compatible
-        class Record(object):
+        class Record:
             levelname = 'ERROR'
             levelname = 'ERROR'
             msg = 'HELLO'
             msg = 'HELLO'
             exc_info = 1
             exc_info = 1

+ 3 - 3
celery/tests/backends/test_amqp.py

@@ -17,7 +17,7 @@ from celery.result import AsyncResult
 from celery.tests.case import AppCase, Mock, depends_on_current_app, mock
 from celery.tests.case import AppCase, Mock, depends_on_current_app, mock
 
 
 
 
-class SomeClass(object):
+class SomeClass:
 
 
     def __init__(self, data):
     def __init__(self, data):
         self.data = data
         self.data = data
@@ -146,7 +146,7 @@ class test_AMQPBackend(AppCase):
     def _result_context(self):
     def _result_context(self):
         results = Queue()
         results = Queue()
 
 
-        class Message(object):
+        class Message:
             acked = 0
             acked = 0
             requeued = 0
             requeued = 0
 
 
@@ -164,7 +164,7 @@ class test_AMQPBackend(AppCase):
             def requeue(self, *args, **kwargs):
             def requeue(self, *args, **kwargs):
                 self.requeued += 1
                 self.requeued += 1
 
 
-        class MockBinding(object):
+        class MockBinding:
 
 
             def __init__(self, *args, **kwargs):
             def __init__(self, *args, **kwargs):
                 self.channel = Mock()
                 self.channel = Mock()

+ 1 - 1
celery/tests/backends/test_base.py

@@ -27,7 +27,7 @@ from celery.utils.functional import pass1
 from celery.tests.case import ANY, AppCase, Case, Mock, call, patch, skip
 from celery.tests.case import ANY, AppCase, Case, Mock, call, patch, skip
 
 
 
 
-class wrapobject(object):
+class wrapobject:
 
 
     def __init__(self, *args, **kwargs):
     def __init__(self, *args, **kwargs):
         self.args = args
         self.args = args

+ 2 - 2
celery/tests/backends/test_cache.py

@@ -18,7 +18,7 @@ from celery.tests.case import AppCase, Mock, mock, patch, skip
 PY3 = sys.version_info[0] == 3
 PY3 = sys.version_info[0] == 3
 
 
 
 
-class SomeClass(object):
+class SomeClass:
 
 
     def __init__(self, data):
     def __init__(self, data):
         self.data = data
         self.data = data
@@ -162,7 +162,7 @@ class MemcachedClient(DummyClient):
         return super(MemcachedClient, self).set(key, value, *args, **kwargs)
         return super(MemcachedClient, self).set(key, value, *args, **kwargs)
 
 
 
 
-class MockCacheMixin(object):
+class MockCacheMixin:
 
 
     @contextmanager
     @contextmanager
     def mock_memcache(self):
     def mock_memcache(self):

+ 3 - 3
celery/tests/backends/test_cassandra.py

@@ -104,7 +104,7 @@ class test_CassandraBackend(AppCase):
         class OTOExc(Exception):
         class OTOExc(Exception):
             pass
             pass
 
 
-        class VeryFaultyCluster(object):
+        class VeryFaultyCluster:
             def __init__(self, *args, **kwargs):
             def __init__(self, *args, **kwargs):
                 pass
                 pass
 
 
@@ -132,7 +132,7 @@ class test_CassandraBackend(AppCase):
         # Ensure that Cluster object IS shut down.
         # Ensure that Cluster object IS shut down.
         from celery.backends import cassandra as mod
         from celery.backends import cassandra as mod
 
 
-        class RAMHoggingCluster(object):
+        class RAMHoggingCluster:
 
 
             objects_alive = 0
             objects_alive = 0
 
 
@@ -163,7 +163,7 @@ class test_CassandraBackend(AppCase):
         # ImproperlyConfigured exception.
         # ImproperlyConfigured exception.
         from celery.backends import cassandra as mod
         from celery.backends import cassandra as mod
 
 
-        class DummyAuth(object):
+        class DummyAuth:
             ValidAuthProvider = Mock()
             ValidAuthProvider = Mock()
 
 
         mod.cassandra = Mock()
         mod.cassandra = Mock()

+ 1 - 1
celery/tests/backends/test_database.py

@@ -26,7 +26,7 @@ else:
     from celery.backends.database.models import Task, TaskSet
     from celery.backends.database.models import Task, TaskSet
 
 
 
 
-class SomeClass(object):
+class SomeClass:
 
 
     def __init__(self, data):
     def __init__(self, data):
         self.data = data
         self.data = data

+ 5 - 5
celery/tests/backends/test_redis.py

@@ -28,14 +28,14 @@ def raise_on_second_call(mock, exc, *retval):
         mock.return_value, = retval
         mock.return_value, = retval
 
 
 
 
-class Connection(object):
+class Connection:
     connected = True
     connected = True
 
 
     def disconnect(self):
     def disconnect(self):
         self.connected = False
         self.connected = False
 
 
 
 
-class Pipeline(object):
+class Pipeline:
 
 
     def __init__(self, client):
     def __init__(self, client):
         self.client = client
         self.client = client
@@ -108,15 +108,15 @@ class Redis(mock.MockCallbacks):
         return len(self.keyspace.get(key) or [])
         return len(self.keyspace.get(key) or [])
 
 
 
 
-class redis(object):
+class redis:
     StrictRedis = Redis
     StrictRedis = Redis
 
 
-    class ConnectionPool(object):
+    class ConnectionPool:
 
 
         def __init__(self, **kwargs):
         def __init__(self, **kwargs):
             pass
             pass
 
 
-    class UnixDomainSocketConnection(object):
+    class UnixDomainSocketConnection:
 
 
         def __init__(self, **kwargs):
         def __init__(self, **kwargs):
             pass
             pass

+ 1 - 1
celery/tests/bin/test_base.py

@@ -16,7 +16,7 @@ from celery.tests.case import (
 )
 )
 
 
 
 
-class MyApp(object):
+class MyApp:
     user_options = {'preload': None}
     user_options = {'preload': None}
 
 
 APP = MyApp()  # <-- Used by test_with_custom_app
 APP = MyApp()  # <-- Used by test_with_custom_app

+ 1 - 1
celery/tests/bin/test_events.py

@@ -5,7 +5,7 @@ from celery.bin import events
 from celery.tests.case import AppCase, patch, _old_patch, skip
 from celery.tests.case import AppCase, patch, _old_patch, skip
 
 
 
 
-class MockCommand(object):
+class MockCommand:
     executed = []
     executed = []
 
 
     def execute_from_commandline(self, **kwargs):
     def execute_from_commandline(self, **kwargs):

+ 1 - 1
celery/tests/bin/test_multi.py

@@ -300,7 +300,7 @@ class test_MultiTool(AppCase):
         self.assertEqual(sigs[2][0], ('c', 12, signal.SIGKILL))
         self.assertEqual(sigs[2][0], ('c', 12, signal.SIGKILL))
 
 
     def prepare_pidfile_for_getpids(self, Pidfile):
     def prepare_pidfile_for_getpids(self, Pidfile):
-        class pids(object):
+        class pids:
 
 
             def __init__(self, path):
             def __init__(self, path):
                 self.path = path
                 self.path = path

+ 3 - 3
celery/tests/bin/test_worker.py

@@ -323,7 +323,7 @@ class test_Worker(WorkerAppCase):
         def install_HUP_nosupport(controller):
         def install_HUP_nosupport(controller):
             controller.hup_not_supported_installed = True
             controller.hup_not_supported_installed = True
 
 
-        class Controller(object):
+        class Controller:
             pass
             pass
 
 
         prev = cd.install_HUP_not_supported_handler
         prev = cd.install_HUP_not_supported_handler
@@ -345,7 +345,7 @@ class test_Worker(WorkerAppCase):
         def install_worker_restart_handler(worker):
         def install_worker_restart_handler(worker):
             restart_worker_handler_installed[0] = True
             restart_worker_handler_installed[0] = True
 
 
-        class Controller(object):
+        class Controller:
             pass
             pass
 
 
         prev = cd.install_worker_restart_handler
         prev = cd.install_worker_restart_handler
@@ -418,7 +418,7 @@ class test_funs(WorkerAppCase):
 @mock.stdouts
 @mock.stdouts
 class test_signal_handlers(WorkerAppCase):
 class test_signal_handlers(WorkerAppCase):
 
 
-    class _Worker(object):
+    class _Worker:
         stopped = False
         stopped = False
         terminated = False
         terminated = False
 
 

+ 2 - 2
celery/tests/case.py

@@ -85,7 +85,7 @@ class Case(_Case):
     PendingDeprecationWarning = CPendingDeprecationWarning
     PendingDeprecationWarning = CPendingDeprecationWarning
 
 
 
 
-class Trap(object):
+class Trap:
 
 
     def __getattr__(self, name):
     def __getattr__(self, name):
         raise RuntimeError('Test depends on current_app')
         raise RuntimeError('Test depends on current_app')
@@ -162,7 +162,7 @@ class AppCase(Case):
         self._prev_tls = _state._tls
         self._prev_tls = _state._tls
         _state.set_default_app(trap)
         _state.set_default_app(trap)
 
 
-        class NonTLS(object):
+        class NonTLS:
             current_app = trap
             current_app = trap
         _state._tls = NonTLS()
         _state._tls = NonTLS()
 
 

+ 5 - 5
celery/tests/concurrency/test_prefork.py

@@ -19,10 +19,10 @@ try:
     from celery.concurrency import asynpool
     from celery.concurrency import asynpool
 except ImportError:
 except ImportError:
 
 
-    class _mp(object):
+    class _mp:
         RUN = 0x1
         RUN = 0x1
 
 
-        class TaskPool(object):
+        class TaskPool:
             _pool = Mock()
             _pool = Mock()
 
 
             def __init__(self, *args, **kwargs):
             def __init__(self, *args, **kwargs):
@@ -40,7 +40,7 @@ except ImportError:
     asynpool = None  # noqa
     asynpool = None  # noqa
 
 
 
 
-class MockResult(object):
+class MockResult:
 
 
     def __init__(self, value, pid):
     def __init__(self, value, pid):
         self.value = value
         self.value = value
@@ -111,7 +111,7 @@ class test_process_destructor(AppCase):
         )
         )
 
 
 
 
-class MockPool(object):
+class MockPool:
     started = False
     started = False
     closed = False
     closed = False
     joined = False
     joined = False
@@ -390,7 +390,7 @@ class test_TaskPool(PoolCase):
         pool = TaskPool(10)
         pool = TaskPool(10)
         procs = [Bunch(pid=i) for i in range(pool.limit)]
         procs = [Bunch(pid=i) for i in range(pool.limit)]
 
 
-        class _Pool(object):
+        class _Pool:
             _pool = procs
             _pool = procs
             _maxtasksperchild = None
             _maxtasksperchild = None
             timeout = 10
             timeout = 10

+ 1 - 1
celery/tests/events/test_cursesmon.py

@@ -3,7 +3,7 @@ from __future__ import absolute_import, unicode_literals
 from celery.tests.case import AppCase, skip
 from celery.tests.case import AppCase, skip
 
 
 
 
-class MockWindow(object):
+class MockWindow:
 
 
     def getmaxyx(self):
     def getmaxyx(self):
         return self.y, self.x
         return self.y, self.x

+ 1 - 1
celery/tests/events/test_events.py

@@ -7,7 +7,7 @@ from celery.events import CLIENT_CLOCK_SKEW, Event
 from celery.tests.case import AppCase, Mock, call
 from celery.tests.case import AppCase, Mock, call
 
 
 
 
-class MockProducer(object):
+class MockProducer:
 
 
     raise_on_publish = False
     raise_on_publish = False
 
 

+ 2 - 2
celery/tests/events/test_snapshot.py

@@ -6,7 +6,7 @@ from celery.events.snapshot import Polaroid, evcam
 from celery.tests.case import AppCase, Mock, mock, patch
 from celery.tests.case import AppCase, Mock, mock, patch
 
 
 
 
-class MockTimer(object):
+class MockTimer:
     installed = []
     installed = []
 
 
     def call_repeatedly(self, secs, fun, *args, **kwargs):
     def call_repeatedly(self, secs, fun, *args, **kwargs):
@@ -87,7 +87,7 @@ class test_Polaroid(AppCase):
 
 
 class test_evcam(AppCase):
 class test_evcam(AppCase):
 
 
-    class MockReceiver(object):
+    class MockReceiver:
         raise_keyboard_interrupt = False
         raise_keyboard_interrupt = False
 
 
         def capture(self, **kwargs):
         def capture(self, **kwargs):

+ 1 - 1
celery/tests/events/test_state.py

@@ -31,7 +31,7 @@ else:
         return f
         return f
 
 
 
 
-class replay(object):
+class replay:
 
 
     def __init__(self, state):
     def __init__(self, state):
         self.state = state
         self.state = state

+ 3 - 2
celery/tests/utils/test_deprecated.py

@@ -10,7 +10,7 @@ class test_deprecated_property(Case):
     @patch('celery.utils.deprecated.warn')
     @patch('celery.utils.deprecated.warn')
     def test_deprecated(self, warn):
     def test_deprecated(self, warn):
 
 
-        class X(object):
+        class X:
             _foo = None
             _foo = None
 
 
             @deprecated.Property(deprecation='1.2')
             @deprecated.Property(deprecation='1.2')
@@ -48,7 +48,8 @@ class test_deprecated_property(Case):
         self.assertIsNone(x._foo)
         self.assertIsNone(x._foo)
 
 
     def test_deprecated_no_setter_or_deleter(self):
     def test_deprecated_no_setter_or_deleter(self):
-        class X(object):
+
+        class X:
             @deprecated.Property(deprecation='1.2')
             @deprecated.Property(deprecation='1.2')
             def foo(self):
             def foo(self):
                 pass
                 pass

+ 1 - 1
celery/tests/utils/test_dispatcher.py

@@ -34,7 +34,7 @@ def receiver_1_arg(val, **kwargs):
     return val
     return val
 
 
 
 
-class Callable(object):
+class Callable:
 
 
     def __call__(self, val, **kwargs):
     def __call__(self, val, **kwargs):
         return val
         return val

+ 1 - 1
celery/tests/utils/test_encoding.py

@@ -13,7 +13,7 @@ class test_encoding(Case):
     def test_safe_repr(self):
     def test_safe_repr(self):
         self.assertTrue(encoding.safe_repr(object()))
         self.assertTrue(encoding.safe_repr(object()))
 
 
-        class foo(object):
+        class foo:
             def __repr__(self):
             def __repr__(self):
                 raise ValueError('foo')
                 raise ValueError('foo')
 
 

+ 2 - 2
celery/tests/utils/test_functional.py

@@ -49,7 +49,7 @@ class test_utils(Case):
 
 
     def test_firstmethod_handles_lazy(self):
     def test_firstmethod_handles_lazy(self):
 
 
-        class A(object):
+        class A:
 
 
             def __init__(self, value=None):
             def __init__(self, value=None):
                 self.value = value
                 self.value = value
@@ -147,7 +147,7 @@ class test_regen(Case):
 class test_head_from_fun(Case):
 class test_head_from_fun(Case):
 
 
     def test_from_cls(self):
     def test_from_cls(self):
-        class X(object):
+        class X:
             def __call__(x, y, kwarg=1):
             def __call__(x, y, kwarg=1):
                 pass
                 pass
 
 

+ 14 - 14
celery/tests/utils/test_local.py

@@ -63,7 +63,7 @@ class test_Proxy(Case):
 
 
     def test_bool(self):
     def test_bool(self):
 
 
-        class X(object):
+        class X:
 
 
             def __bool__(self):
             def __bool__(self):
                 return False
                 return False
@@ -74,7 +74,7 @@ class test_Proxy(Case):
 
 
     def test_slots(self):
     def test_slots(self):
 
 
-        class X(object):
+        class X:
             __slots__ = ()
             __slots__ = ()
 
 
         x = Proxy(X)
         x = Proxy(X)
@@ -85,7 +85,7 @@ class test_Proxy(Case):
     def test_unicode(self):
     def test_unicode(self):
 
 
         @python_2_unicode_compatible
         @python_2_unicode_compatible
-        class X(object):
+        class X:
 
 
             def __unicode__(self):
             def __unicode__(self):
                 return 'UNICODE'
                 return 'UNICODE'
@@ -102,7 +102,7 @@ class test_Proxy(Case):
 
 
     def test_dir(self):
     def test_dir(self):
 
 
-        class X(object):
+        class X:
 
 
             def __dir__(self):
             def __dir__(self):
                 return ['a', 'b', 'c']
                 return ['a', 'b', 'c']
@@ -110,7 +110,7 @@ class test_Proxy(Case):
         x = Proxy(lambda: X())
         x = Proxy(lambda: X())
         self.assertListEqual(dir(x), ['a', 'b', 'c'])
         self.assertListEqual(dir(x), ['a', 'b', 'c'])
 
 
-        class Y(object):
+        class Y:
 
 
             def __dir__(self):
             def __dir__(self):
                 raise RuntimeError()
                 raise RuntimeError()
@@ -119,7 +119,7 @@ class test_Proxy(Case):
 
 
     def test_getsetdel_attr(self):
     def test_getsetdel_attr(self):
 
 
-        class X(object):
+        class X:
             a = 1
             a = 1
             b = 2
             b = 2
             c = 3
             c = 3
@@ -175,7 +175,7 @@ class test_Proxy(Case):
 
 
     def test_complex_cast(self):
     def test_complex_cast(self):
 
 
-        class O(object):
+        class O:
 
 
             def __complex__(self):
             def __complex__(self):
                 return complex(10.333)
                 return complex(10.333)
@@ -185,7 +185,7 @@ class test_Proxy(Case):
 
 
     def test_index(self):
     def test_index(self):
 
 
-        class O(object):
+        class O:
 
 
             def __index__(self):
             def __index__(self):
                 return 1
                 return 1
@@ -195,7 +195,7 @@ class test_Proxy(Case):
 
 
     def test_coerce(self):
     def test_coerce(self):
 
 
-        class O(object):
+        class O:
 
 
             def __coerce__(self, other):
             def __coerce__(self, other):
                 return self, other
                 return self, other
@@ -275,7 +275,7 @@ class test_Proxy(Case):
 
 
     def test_hash(self):
     def test_hash(self):
 
 
-        class X(object):
+        class X:
 
 
             def __hash__(self):
             def __hash__(self):
                 return 1234
                 return 1234
@@ -284,7 +284,7 @@ class test_Proxy(Case):
 
 
     def test_call(self):
     def test_call(self):
 
 
-        class X(object):
+        class X:
 
 
             def __call__(self):
             def __call__(self):
                 return 1234
                 return 1234
@@ -293,7 +293,7 @@ class test_Proxy(Case):
 
 
     def test_context(self):
     def test_context(self):
 
 
-        class X(object):
+        class X:
             entered = exited = False
             entered = exited = False
 
 
             def __enter__(self):
             def __enter__(self):
@@ -312,7 +312,7 @@ class test_Proxy(Case):
 
 
     def test_reduce(self):
     def test_reduce(self):
 
 
-        class X(object):
+        class X:
 
 
             def __reduce__(self):
             def __reduce__(self):
                 return 123
                 return 123
@@ -325,7 +325,7 @@ class test_PromiseProxy(Case):
 
 
     def test_only_evaluated_once(self):
     def test_only_evaluated_once(self):
 
 
-        class X(object):
+        class X:
             attr = 123
             attr = 123
             evals = 0
             evals = 0
 
 

+ 7 - 5
celery/tests/utils/test_platforms.py

@@ -237,7 +237,7 @@ class test_maybe_drop_privileges(Case):
         geteuid.return_value = 10
         geteuid.return_value = 10
         getuid.return_value = 10
         getuid.return_value = 10
 
 
-        class pw_struct(object):
+        class pw_struct:
             pw_gid = 50001
             pw_gid = 50001
 
 
         def raise_on_second_call(*args, **kwargs):
         def raise_on_second_call(*args, **kwargs):
@@ -353,7 +353,7 @@ class test_setget_uid_gid(Case):
     @patch('pwd.getpwnam')
     @patch('pwd.getpwnam')
     def test_parse_uid_when_existing_name(self, getpwnam):
     def test_parse_uid_when_existing_name(self, getpwnam):
 
 
-        class pwent(object):
+        class pwent:
             pw_uid = 5001
             pw_uid = 5001
 
 
         getpwnam.return_value = pwent()
         getpwnam.return_value = pwent()
@@ -372,7 +372,7 @@ class test_setget_uid_gid(Case):
     @patch('grp.getgrnam')
     @patch('grp.getgrnam')
     def test_parse_gid_when_existing_name(self, getgrnam):
     def test_parse_gid_when_existing_name(self, getgrnam):
 
 
-        class grent(object):
+        class grent:
             gr_gid = 50001
             gr_gid = 50001
 
 
         getgrnam.return_value = grent()
         getgrnam.return_value = grent()
@@ -408,7 +408,7 @@ class test_initgroups(Case):
         try:
         try:
             getpwuid.return_value = ['user']
             getpwuid.return_value = ['user']
 
 
-            class grent(object):
+            class grent:
                 gr_mem = ['user']
                 gr_mem = ['user']
 
 
                 def __init__(self, gid):
                 def __init__(self, gid):
@@ -830,8 +830,10 @@ class test_setgroups(Case):
 class test_check_privileges(Case):
 class test_check_privileges(Case):
 
 
     def test_suspicious(self):
     def test_suspicious(self):
-        class Obj(object):
+
+        class Obj:
             fchown = 13
             fchown = 13
+
         prev, platforms.os = platforms.os, Obj()
         prev, platforms.os = platforms.os, Obj()
         try:
         try:
             with self.assertRaises(AssertionError):
             with self.assertRaises(AssertionError):

+ 2 - 2
celery/tests/utils/test_saferef.py

@@ -5,7 +5,7 @@ from celery.utils.dispatch.saferef import safe_ref
 from celery.tests.case import Case
 from celery.tests.case import Case
 
 
 
 
-class Class1(object):
+class Class1:
 
 
     def x(self):
     def x(self):
         pass
         pass
@@ -15,7 +15,7 @@ def fun(obj):
     pass
     pass
 
 
 
 
-class Class2(object):
+class Class2:
 
 
     def __call__(self, obj):
     def __call__(self, obj):
         pass
         pass

+ 4 - 4
celery/tests/worker/test_control.py

@@ -25,7 +25,7 @@ from celery.tests.case import AppCase, Mock, TaskMessage, call, patch
 hostname = socket.gethostname()
 hostname = socket.gethostname()
 
 
 
 
-class WorkController(object):
+class WorkController:
 
 
     def stats(self):
     def stats(self):
         return {'total': worker_state.total_count}
         return {'total': worker_state.total_count}
@@ -303,7 +303,7 @@ class test_ControlPanel(AppCase):
 
 
     def test_pool_grow(self):
     def test_pool_grow(self):
 
 
-        class MockPool(object):
+        class MockPool:
 
 
             def __init__(self, size=1):
             def __init__(self, size=1):
                 self.size = size
                 self.size = size
@@ -338,7 +338,7 @@ class test_ControlPanel(AppCase):
 
 
     def test_add__cancel_consumer(self):
     def test_add__cancel_consumer(self):
 
 
-        class MockConsumer(object):
+        class MockConsumer:
             queues = []
             queues = []
             canceled = []
             canceled = []
             consuming = False
             consuming = False
@@ -417,7 +417,7 @@ class test_ControlPanel(AppCase):
 
 
     def test_rate_limit(self):
     def test_rate_limit(self):
 
 
-        class xConsumer(object):
+        class xConsumer:
             reset = False
             reset = False
 
 
             def reset_rate_limits(self):
             def reset_rate_limits(self):

+ 2 - 2
celery/tests/worker/test_heartbeat.py

@@ -4,7 +4,7 @@ from celery.worker.heartbeat import Heart
 from celery.tests.case import AppCase, Mock
 from celery.tests.case import AppCase, Mock
 
 
 
 
-class MockDispatcher(object):
+class MockDispatcher:
     heart = None
     heart = None
     next_iter = 0
     next_iter = 0
 
 
@@ -22,7 +22,7 @@ class MockDispatcher(object):
             self.next_iter += 1
             self.next_iter += 1
 
 
 
 
-class MockTimer(object):
+class MockTimer:
 
 
     def call_repeatedly(self, secs, fun, args=(), kwargs={}):
     def call_repeatedly(self, secs, fun, args=(), kwargs={}):
 
 

+ 2 - 2
celery/tests/worker/test_loops.py

@@ -19,7 +19,7 @@ from celery.tests.case import AppCase, Mock, task_message_from_sig
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class PromiseEqual(object):
+class PromiseEqual:
 
 
     def __init__(self, fun, *args, **kwargs):
     def __init__(self, fun, *args, **kwargs):
         self.fun = fun
         self.fun = fun
@@ -35,7 +35,7 @@ class PromiseEqual(object):
         return '<promise: {0.fun!r} {0.args!r} {0.kwargs!r}>'.format(self)
         return '<promise: {0.fun!r} {0.args!r} {0.kwargs!r}>'.format(self)
 
 
 
 
-class X(object):
+class X:
 
 
     def __init__(self, app, heartbeat=None, on_task_message=None,
     def __init__(self, app, heartbeat=None, on_task_message=None,
                  transport_driver_type=None):
                  transport_driver_type=None):

+ 1 - 1
celery/tests/worker/test_request.py

@@ -89,7 +89,7 @@ class test_mro_lookup(Case):
 
 
     def test_order(self):
     def test_order(self):
 
 
-        class A(object):
+        class A:
             pass
             pass
 
 
         class B(A):
         class B(A):

+ 1 - 1
celery/tests/worker/test_state.py

@@ -161,7 +161,7 @@ class test_Persistent(StateResetCase):
             self.assertIn(item, saved)
             self.assertIn(item, saved)
 
 
 
 
-class SimpleReq(object):
+class SimpleReq:
 
 
     def __init__(self, name):
     def __init__(self, name):
         self.id = uuid()
         self.id = uuid()

+ 1 - 1
celery/tests/worker/test_strategy.py

@@ -70,7 +70,7 @@ class test_default_strategy_proto2(AppCase):
     def prepare_message(self, message):
     def prepare_message(self, message):
         return message
         return message
 
 
-    class Context(object):
+    class Context:
 
 
         def __init__(self, sig, s, reserved, consumer, message):
         def __init__(self, sig, s, reserved, consumer, message):
             self.sig = sig
             self.sig = sig

+ 2 - 2
celery/tests/worker/test_worker.py

@@ -573,7 +573,7 @@ class test_Consumer(AppCase):
         controller.box.node.listen = BConsumer()
         controller.box.node.listen = BConsumer()
         connections = []
         connections = []
 
 
-        class Connection(object):
+        class Connection:
             calls = 0
             calls = 0
 
 
             def __init__(self, obj):
             def __init__(self, obj):
@@ -634,7 +634,7 @@ class test_Consumer(AppCase):
 
 
     def test_start__loop(self):
     def test_start__loop(self):
 
 
-        class _QoS(object):
+        class _QoS:
             prev = 3
             prev = 3
             value = 4
             value = 4
 
 

+ 1 - 1
celery/utils/abstract.py

@@ -15,7 +15,7 @@ def _hasattr(C, attr):
 
 
 
 
 @with_metaclass(ABCMeta)
 @with_metaclass(ABCMeta)
-class _AbstractClass(object):
+class _AbstractClass:
     __required_attributes__ = frozenset()
     __required_attributes__ = frozenset()
 
 
     @classmethod
     @classmethod

+ 5 - 5
celery/utils/collections.py

@@ -26,7 +26,7 @@ except ImportError:
 try:
 try:
     from django.utils.functional import LazyObject, LazySettings
     from django.utils.functional import LazyObject, LazySettings
 except ImportError:
 except ImportError:
-    class LazyObject(object):  # noqa
+    class LazyObject:  # noqa
         pass
         pass
     LazySettings = LazyObject  # noqa
     LazySettings = LazyObject  # noqa
 
 
@@ -108,7 +108,7 @@ class OrderedDict(_OrderedDict):
                     root[1] = first[0] = link
                     root[1] = first[0] = link
 
 
 
 
-class AttributeDictMixin(object):
+class AttributeDictMixin:
     """Augment classes with a Mapping interface by adding attribute access.
     """Augment classes with a Mapping interface by adding attribute access.
 
 
     I.e. `d.key -> d[key]`.
     I.e. `d.key -> d[key]`.
@@ -133,7 +133,7 @@ class AttributeDict(dict, AttributeDictMixin):
     pass
     pass
 
 
 
 
-class DictAttribute(object):
+class DictAttribute:
     """Dict interface to attributes.
     """Dict interface to attributes.
 
 
     `obj[k] -> obj.k`
     `obj[k] -> obj.k`
@@ -417,7 +417,7 @@ class ConfigurationView(ChainMap, AttributeDictMixin):
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class LimitedSet(object):
+class LimitedSet:
     """Kind-of Set (or priority queue) with limitations.
     """Kind-of Set (or priority queue) with limitations.
 
 
     Good for when you need to test for membership (`a in set`),
     Good for when you need to test for membership (`a in set`),
@@ -633,7 +633,7 @@ class LimitedSet(object):
 MutableSet.register(LimitedSet)
 MutableSet.register(LimitedSet)
 
 
 
 
-class Evictable(object):
+class Evictable:
 
 
     Empty = Empty
     Empty = Empty
 
 

+ 1 - 1
celery/utils/deprecated.py

@@ -73,7 +73,7 @@ def Property(deprecation=None, removal=None,
     return _inner
     return _inner
 
 
 
 
-class _deprecated_property(object):
+class _deprecated_property:
 
 
     def __init__(self, fget=None, fset=None, fdel=None, doc=None, **depreinfo):
     def __init__(self, fget=None, fset=None, fdel=None, doc=None, **depreinfo):
         self.__get = fget
         self.__get = fget

+ 1 - 1
celery/utils/dispatch/saferef.py

@@ -45,7 +45,7 @@ def safe_ref(target, on_delete=None):  # pragma: no cover
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class BoundMethodWeakref(object):  # pragma: no cover
+class BoundMethodWeakref:  # pragma: no cover
     """'Safe' and reusable weak references to instance methods.
     """'Safe' and reusable weak references to instance methods.
 
 
     BoundMethodWeakref objects provide a mechanism for
     BoundMethodWeakref objects provide a mechanism for

+ 1 - 1
celery/utils/dispatch/signal.py

@@ -29,7 +29,7 @@ def _make_id(target):  # pragma: no cover
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class Signal(object):  # pragma: no cover
+class Signal:  # pragma: no cover
     """Observer pattern implementation.
     """Observer pattern implementation.
 
 
     Arguments:
     Arguments:

+ 1 - 1
celery/utils/functional.py

@@ -30,7 +30,7 @@ def {fun_name}({fun_args}):
 """
 """
 
 
 
 
-class DummyContext(object):
+class DummyContext:
 
 
     def __enter__(self):
     def __enter__(self):
         return self
         return self

+ 2 - 2
celery/utils/graph.py

@@ -30,7 +30,7 @@ class CycleError(Exception):
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class DependencyGraph(object):
+class DependencyGraph:
     """A directed acyclic graph of objects and their dependencies.
     """A directed acyclic graph of objects and their dependencies.
 
 
     Supports a robust topological sort
     Supports a robust topological sort
@@ -224,7 +224,7 @@ class DependencyGraph(object):
         return '\n'.join(output)
         return '\n'.join(output)
 
 
 
 
-class GraphFormatter(object):
+class GraphFormatter:
     _attr = DOT.ATTR.strip()
     _attr = DOT.ATTR.strip()
     _node = DOT.NODE.strip()
     _node = DOT.NODE.strip()
     _edge = DOT.EDGE.strip()
     _edge = DOT.EDGE.strip()

+ 1 - 1
celery/utils/log.py

@@ -167,7 +167,7 @@ class ColorFormatter(logging.Formatter):
             return safe_str(msg)
             return safe_str(msg)
 
 
 
 
-class LoggingProxy(object):
+class LoggingProxy:
     """Forward file object to :class:`logging.Logger` instance.
     """Forward file object to :class:`logging.Logger` instance.
 
 
     Arguments:
     Arguments:

+ 2 - 2
celery/utils/objects.py

@@ -5,7 +5,7 @@ from __future__ import absolute_import, unicode_literals
 __all__ = ['Bunch', 'FallbackContext', 'mro_lookup']
 __all__ = ['Bunch', 'FallbackContext', 'mro_lookup']
 
 
 
 
-class Bunch(object):
+class Bunch:
     """Object that enables you to modify attributes."""
     """Object that enables you to modify attributes."""
 
 
     def __init__(self, **kwargs):
     def __init__(self, **kwargs):
@@ -42,7 +42,7 @@ def mro_lookup(cls, attr, stop=set(), monkey_patched=[]):
             return node
             return node
 
 
 
 
-class FallbackContext(object):
+class FallbackContext:
     """The built-in ``@contextmanager`` utility does not work well
     """The built-in ``@contextmanager`` utility does not work well
     when wrapping other contexts, as the traceback is wrong when
     when wrapping other contexts, as the traceback is wrong when
     the wrapped context raises.
     the wrapped context raises.

+ 1 - 1
celery/utils/saferepr.py

@@ -35,7 +35,7 @@ IS_PY3 = sys.version_info[0] == 3
 if IS_PY3:  # pragma: no cover
 if IS_PY3:  # pragma: no cover
     range_t = (range, )
     range_t = (range, )
 else:
 else:
-    class range_t(object):  # noqa
+    class range_t:  # noqa
         pass
         pass
 
 
 _literal = namedtuple('_literal', ('value', 'truncate', 'direction'))
 _literal = namedtuple('_literal', ('value', 'truncate', 'direction'))

+ 1 - 1
celery/utils/sysinfo.py

@@ -22,7 +22,7 @@ else:  # pragma: no cover
         return (0.0, 0.0, 0.0)
         return (0.0, 0.0, 0.0)
 
 
 
 
-class df(object):
+class df:
 
 
     def __init__(self, path):
     def __init__(self, path):
         self.path = path
         self.path = path

+ 1 - 1
celery/utils/term.py

@@ -23,7 +23,7 @@ def fg(s):
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class colored(object):
+class colored:
     """Terminal colored text.
     """Terminal colored text.
 
 
     Example:
     Example:

+ 3 - 3
celery/utils/threads.py

@@ -113,7 +113,7 @@ def release_local(local):
     local.__release_local__()
     local.__release_local__()
 
 
 
 
-class Local(object):
+class Local:
     __slots__ = ('__storage__', '__ident_func__')
     __slots__ = ('__storage__', '__ident_func__')
 
 
     def __init__(self):
     def __init__(self):
@@ -151,7 +151,7 @@ class Local(object):
             raise AttributeError(name)
             raise AttributeError(name)
 
 
 
 
-class _LocalStack(object):
+class _LocalStack:
     """This class works similar to a :class:`Local` but keeps a stack
     """This class works similar to a :class:`Local` but keeps a stack
     of objects instead.  This is best explained with an example::
     of objects instead.  This is best explained with an example::
 
 
@@ -244,7 +244,7 @@ class _LocalStack(object):
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class LocalManager(object):
+class LocalManager:
     """Local objects cannot manage themselves. For that you need a local
     """Local objects cannot manage themselves. For that you need a local
     manager.  You can pass a local manager multiple locals or add them
     manager.  You can pass a local manager multiple locals or add them
     later by appending them to ``manager.locals``.  Every time the manager
     later by appending them to ``manager.locals``.  Every time the manager

+ 2 - 2
celery/utils/timeutils.py

@@ -111,7 +111,7 @@ class LocalTimezone(tzinfo):
         return tt.tm_isdst > 0
         return tt.tm_isdst > 0
 
 
 
 
-class _Zone(object):
+class _Zone:
 
 
     def tz_or_local(self, tzinfo=None):
     def tz_or_local(self, tzinfo=None):
         if tzinfo is None:
         if tzinfo is None:
@@ -324,7 +324,7 @@ def maybe_make_aware(dt, tz=None):
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class ffwd(object):
+class ffwd:
     """Version of ``dateutil.relativedelta`` that only supports addition."""
     """Version of ``dateutil.relativedelta`` that only supports addition."""
 
 
     def __init__(self, year=None, month=None, weeks=0, weekday=None, day=None,
     def __init__(self, year=None, month=None, weeks=0, weekday=None, day=None,

+ 1 - 1
celery/worker/__init__.py

@@ -63,7 +63,7 @@ defined in the `task_queues` setting.
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class WorkController(object):
+class WorkController:
     """Unmanaged worker instance."""
     """Unmanaged worker instance."""
 
 
     app = None
     app = None

+ 1 - 1
celery/worker/consumer/consumer.py

@@ -118,7 +118,7 @@ def dump_body(m, body):
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class Consumer(object):
+class Consumer:
 
 
     Strategies = dict
     Strategies = dict
 
 

+ 1 - 1
celery/worker/heartbeat.py

@@ -11,7 +11,7 @@ from .state import SOFTWARE_INFO, active_requests, all_total_count
 __all__ = ['Heart']
 __all__ = ['Heart']
 
 
 
 
-class Heart(object):
+class Heart:
     """Timer sending heartbeats at regular intervals.
     """Timer sending heartbeats at regular intervals.
 
 
     Arguments:
     Arguments:

+ 1 - 1
celery/worker/pidbox.py

@@ -19,7 +19,7 @@ logger = get_logger(__name__)
 debug, error, info = logger.debug, logger.error, logger.info
 debug, error, info = logger.debug, logger.error, logger.info
 
 
 
 
-class Pidbox(object):
+class Pidbox:
 
 
     consumer = None
     consumer = None
 
 

+ 1 - 1
celery/worker/request.py

@@ -59,7 +59,7 @@ revoked_tasks = state.revoked
 
 
 
 
 @python_2_unicode_compatible
 @python_2_unicode_compatible
-class Request(object):
+class Request:
     """A request for task execution."""
     """A request for task execution."""
     acknowledged = False
     acknowledged = False
     time_start = None
     time_start = None

+ 1 - 1
celery/worker/state.py

@@ -164,7 +164,7 @@ if C_BENCH:  # pragma: no cover
         return __ready(request)
         return __ready(request)
 
 
 
 
-class Persistent(object):
+class Persistent:
     """This is the persistent data stored by the worker when
     """This is the persistent data stored by the worker when
     :option:`celery worker --statedb` is enabled.
     :option:`celery worker --statedb` is enabled.
 
 

+ 1 - 1
docs/internals/app-overview.rst

@@ -176,7 +176,7 @@ is missing.
 
 
     from celery.app import app_or_default
     from celery.app import app_or_default
 
 
-    class SomeClass(object):
+    class SomeClass:
 
 
         def __init__(self, app=None):
         def __init__(self, app=None):
             self.app = app_or_default(app)
             self.app = app_or_default(app)

+ 6 - 6
docs/internals/guide.rst

@@ -53,10 +53,10 @@ Naming
             pass
             pass
 
 
         # - "action" class (verb)
         # - "action" class (verb)
-        class UpdateTwitterStatus(object):    # BAD
+        class UpdateTwitterStatus:    # BAD
             pass
             pass
 
 
-        class update_twitter_status(object):    # GOOD
+        class update_twitter_status:    # GOOD
             pass
             pass
 
 
     .. note::
     .. note::
@@ -71,7 +71,7 @@ Naming
 
 
     .. code-block:: python
     .. code-block:: python
 
 
-        class Celery(object):
+        class Celery:
 
 
             def consumer_factory(self):     # BAD
             def consumer_factory(self):     # BAD
                 ...
                 ...
@@ -89,7 +89,7 @@ as this means that they can be set by either instantiation or inheritance.
 
 
 .. code-block:: python
 .. code-block:: python
 
 
-    class Producer(object):
+    class Producer:
         active = True
         active = True
         serializer = 'json'
         serializer = 'json'
 
 
@@ -130,7 +130,7 @@ the exception class from the instance directly.
     class Empty(Exception):
     class Empty(Exception):
         pass
         pass
 
 
-    class Queue(object):
+    class Queue:
         Empty = Empty
         Empty = Empty
 
 
         def get(self):
         def get(self):
@@ -157,7 +157,7 @@ saved us from many a monkey patch).
 
 
 .. code-block:: python
 .. code-block:: python
 
 
-    class Worker(object):
+    class Worker:
         Consumer = Consumer
         Consumer = Consumer
 
 
         def __init__(self, connection, consumer_cls=None):
         def __init__(self, connection, consumer_cls=None):

+ 4 - 3
docs/userguide/application.rst

@@ -400,7 +400,7 @@ The following example is considered bad practice:
 
 
     from celery import current_app
     from celery import current_app
 
 
-    class Scheduler(object):
+    class Scheduler:
 
 
         def run(self):
         def run(self):
             app = current_app
             app = current_app
@@ -409,7 +409,7 @@ Instead it should take the ``app`` as an argument:
 
 
 .. code-block:: python
 .. code-block:: python
 
 
-    class Scheduler(object):
+    class Scheduler:
 
 
         def __init__(self, app):
         def __init__(self, app):
             self.app = app
             self.app = app
@@ -421,7 +421,8 @@ so that everything also works in the module-based compatibility API
 
 
     from celery.app import app_or_default
     from celery.app import app_or_default
 
 
-    class Scheduler(object):
+    class Scheduler:
+
         def __init__(self, app=None):
         def __init__(self, app=None):
             self.app = app_or_default(app)
             self.app = app_or_default(app)
 
 

+ 3 - 3
docs/userguide/configuration.rst

@@ -261,7 +261,7 @@ instead of a dict to choose which tasks to annotate:
 
 
 .. code-block:: python
 .. code-block:: python
 
 
-    class MyAnnotate(object):
+    class MyAnnotate:
 
 
         def annotate(self, task):
         def annotate(self, task):
             if task.name.startswith('tasks.'):
             if task.name.startswith('tasks.'):
@@ -1281,8 +1281,8 @@ Where ``myapp.tasks.route_task`` could be:
 .. code-block:: python
 .. code-block:: python
 
 
     def route_task(self, name, args, kwargs, options, task=None, **kwargs):
     def route_task(self, name, args, kwargs, options, task=None, **kwargs):
-            if task == 'celery.ping':
-                return {'queue': 'default'}
+        if task == 'celery.ping':
+            return {'queue': 'default'}
 
 
 ``route_task`` may return a string or a dict. A string then means
 ``route_task`` may return a string or a dict. A string then means
 it's a queue name in :setting:`task_queues`, a dict means it's a custom route.
 it's a queue name in :setting:`task_queues`, a dict means it's a custom route.

+ 4 - 5
docs/userguide/routing.rst

@@ -581,10 +581,10 @@ the signature ``(name, args, kwargs, options, task=None, **kwargs)``:
 .. code-block:: python
 .. code-block:: python
 
 
     def route_task(name, args, kwargs, options, task=None, **kwargs):
     def route_task(name, args, kwargs, options, task=None, **kwargs):
-            if name == 'myapp.tasks.compress_video':
-                return {'exchange': 'video',
-                        'exchange_type': 'topic',
-                        'routing_key': 'video.compress'}
+        if name == 'myapp.tasks.compress_video':
+            return {'exchange': 'video',
+                    'exchange_type': 'topic',
+                    'routing_key': 'video.compress'}
 
 
 If you return the ``queue`` key, it will expand with the defined settings of
 If you return the ``queue`` key, it will expand with the defined settings of
 that queue in :setting:`task_queues`:
 that queue in :setting:`task_queues`:
@@ -616,7 +616,6 @@ Router functions can also be added by name:
 
 
     task_routes = ('myapp.routers.route_task',)
     task_routes = ('myapp.routers.route_task',)
 
 
-
 For simple task name -> route mappings like the router example above,
 For simple task name -> route mappings like the router example above,
 you can simply drop a dict into :setting:`task_routes` to get the
 you can simply drop a dict into :setting:`task_routes` to get the
 same behavior:
 same behavior:

Some files were not shown because too many files changed in this diff