Browse Source

Moves datastructures back to celery.datastructures to ensure compat with extensions

Ask Solem 11 years ago
parent
commit
578663306f

+ 1 - 2
celery/__init__.py

@@ -66,8 +66,7 @@ old_module, new_module = recreate_module(  # pragma: no cover
                           'subtask', 'xmap', 'xstarmap'],
         'celery.utils': ['uuid'],
     },
-    direct={'task': 'celery.task',
-            'datastructures': 'celery.utils.datastructures'},
+    direct={'task': 'celery.task'},
     __package__='celery', __file__=__file__,
     __path__=__path__, __doc__=__doc__, __version__=__version__,
     __author__=__author__, __contact__=__contact__,

+ 2 - 2
celery/app/utils.py

@@ -12,9 +12,9 @@ import os
 import platform as _platform
 import re
 
-from celery.platforms import pyimplementation
+from celery.datastructures import ConfigurationView
 from celery.five import items
-from celery.utils.datastructures import ConfigurationView
+from celery.platforms import pyimplementation
 from celery.utils.text import pretty
 from celery.utils.imports import qualname
 

+ 1 - 1
celery/bin/graph.py

@@ -10,8 +10,8 @@ from __future__ import absolute_import, unicode_literals
 
 from operator import itemgetter
 
+from celery.datastructures import DependencyGraph, GraphFormatter
 from celery.five import items
-from celery.utils.datastructures import DependencyGraph, GraphFormatter
 
 from .base import Command
 

+ 1 - 1
celery/bootsteps.py

@@ -14,8 +14,8 @@ from threading import Event
 from kombu.common import ignore_errors
 from kombu.utils import symbol_by_name
 
+from .datastructures import DependencyGraph, GraphFormatter
 from .five import values, with_metaclass
-from .utils.datastructures import DependencyGraph, GraphFormatter
 from .utils.imports import instantiate, qualname
 from .utils.log import get_logger
 from .utils.threads import default_socket_timeout

+ 3 - 4
celery/utils/datastructures.py → celery/datastructures.py

@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 """
-    celery.utils.datastructures
-    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+    celery.datastructures
+    ~~~~~~~~~~~~~~~~~~~~~
 
     Custom types and data structures.
 
@@ -21,8 +21,7 @@ from kombu.utils.encoding import safe_str
 from kombu.utils.limits import TokenBucket  # noqa
 
 from celery.five import items
-
-from .functional import LRUCache, first, uniq  # noqa
+from celery.utils.functional import LRUCache, first, uniq  # noqa
 
 DOT_HEAD = """
 {IN}{type} {id} {{

+ 1 - 1
celery/events/state.py

@@ -28,8 +28,8 @@ from time import time
 from kombu.utils import kwdict
 
 from celery import states
+from celery.datastructures import AttributeDict
 from celery.five import items, values
-from celery.utils.datastructures import AttributeDict
 from celery.utils.functional import LRUCache
 from celery.utils.log import get_logger
 

+ 1 - 1
celery/loaders/base.py

@@ -20,8 +20,8 @@ from datetime import datetime
 from kombu.utils import cached_property
 from kombu.utils.encoding import safe_str
 
+from celery.datastructures import DictAttribute
 from celery.five import reraise, string_t
-from celery.utils.datastructures import DictAttribute
 from celery.utils.functional import maybe_list
 from celery.utils.imports import (
     import_from_cwd, symbol_by_name, NotAPackage, find_module,

+ 1 - 1
celery/loaders/default.py

@@ -11,9 +11,9 @@ from __future__ import absolute_import
 import os
 import warnings
 
+from celery.datastructures import DictAttribute
 from celery.exceptions import NotConfigured
 from celery.utils import strtobool
-from celery.utils.datastructures import DictAttribute
 
 from .base import BaseLoader
 

+ 1 - 1
celery/result.py

@@ -19,9 +19,9 @@ from kombu.utils.compat import OrderedDict
 from . import current_app
 from . import states
 from .app import app_or_default
+from .datastructures import DependencyGraph, GraphFormatter
 from .exceptions import IncompleteStream, TimeoutError
 from .five import items, range, string_t
-from .utils.datastructures import DependencyGraph, GraphFormatter
 
 
 class ResultBase(object):

+ 1 - 1
celery/schedules.py

@@ -22,7 +22,7 @@ from .utils.timeutils import (
     timedelta_seconds, weekday, maybe_timedelta, remaining,
     humanize_seconds, timezone, maybe_make_aware, ffwd
 )
-from .utils.datastructures import AttributeDict
+from .datastructures import AttributeDict
 
 CRON_PATTERN_INVALID = """\
 Invalid crontab pattern. Valid range is {min}-{max}. \

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

@@ -10,10 +10,10 @@ from kombu.utils import cached_property, uuid
 
 from celery import current_app
 from celery import states
+from celery.datastructures import AttributeDict
 from celery.exceptions import ImproperlyConfigured
 from celery.result import AsyncResult
 from celery.task import subtask
-from celery.utils.datastructures import AttributeDict
 from celery.utils.timeutils import timedelta_seconds
 
 from celery.tests.case import Case

+ 4 - 4
celery/tests/utils/test_datastructures.py

@@ -6,14 +6,14 @@ from billiard.einfo import ExceptionInfo
 from mock import Mock, patch
 from time import time
 
-from celery.five import items
-from celery.utils.datastructures import (
+from celery.datastructures import (
     LimitedSet,
     AttributeDict,
     DictAttribute,
     ConfigurationView,
     DependencyGraph,
 )
+from celery.five import items
 
 from celery.tests.case import Case, WhateverIO
 
@@ -209,11 +209,11 @@ class test_LimitedSet(Case):
         s = LimitedSet(maxlen=None)
         [s.add(i) for i in range(10)]
         s.maxlen = 2
-        with patch('celery.utils.datastructures.heappop') as hp:
+        with patch('celery.datastructures.heappop') as hp:
             hp.side_effect = IndexError()
             s.purge()
             hp.assert_called_with(s._heap)
-        with patch('celery.utils.datastructures.heappop') as hp:
+        with patch('celery.datastructures.heappop') as hp:
             s._data = dict((i * 2, i * 2) for i in range(10))
             s.purge()
             self.assertEqual(hp.call_count, 10)

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

@@ -8,7 +8,7 @@ from nose import SkipTest
 
 from billiard.exceptions import RestartFreqExceeded
 
-from celery.utils.datastructures import LimitedSet
+from celery.datastructures import LimitedSet
 from celery.worker import state as worker_state
 from celery.worker.consumer import (
     Consumer,

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

@@ -9,10 +9,10 @@ from datetime import datetime, timedelta
 from kombu import pidbox
 from mock import Mock, patch, call
 
+from celery.datastructures import AttributeDict
 from celery.five import Queue as FastQueue
 from celery.task import task
 from celery.utils import uuid
-from celery.utils.datastructures import AttributeDict
 from celery.utils.timer2 import Timer
 from celery.worker import WorkController as _WC
 from celery.worker import consumer

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

@@ -3,9 +3,9 @@ from __future__ import absolute_import
 from mock import Mock, patch
 from time import time
 
+from celery.datastructures import LimitedSet
 from celery.exceptions import SystemTerminate
 from celery.worker import state
-from celery.utils.datastructures import LimitedSet
 
 from celery.tests.case import Case
 

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

@@ -17,6 +17,7 @@ from mock import call, Mock, patch
 from celery.app.defaults import DEFAULTS
 from celery.bootsteps import RUN, CLOSE, TERMINATE, StartStopStep
 from celery.concurrency.base import BasePool
+from celery.datastructures import AttributeDict
 from celery.exceptions import SystemTerminate, TaskRevokedError
 from celery.five import Empty, range, Queue as FastQueue
 from celery.task import task as task_dec
@@ -29,7 +30,6 @@ from celery.worker.consumer import Consumer as __Consumer
 from celery.worker.hub import READ, ERR
 from celery.worker.job import Request
 from celery.utils import worker_direct
-from celery.utils.datastructures import AttributeDict
 from celery.utils.serialization import pickle
 from celery.utils.timer2 import Timer
 

+ 1 - 1
celery/worker/pidbox.py

@@ -6,7 +6,7 @@ import threading
 from kombu.common import ignore_errors
 from kombu.utils.encoding import safe_str
 
-from celery.utils.datastructures import AttributeDict
+from celery.datastructures import AttributeDict
 from celery.utils.log import get_logger
 
 from . import control

+ 1 - 1
celery/worker/state.py

@@ -20,9 +20,9 @@ from kombu.serialization import pickle_protocol
 from kombu.utils import cached_property
 
 from celery import __version__
+from celery.datastructures import LimitedSet
 from celery.exceptions import SystemTerminate
 from celery.five import Counter
-from celery.utils.datastructures import LimitedSet
 
 #: Worker software/platform information.
 SOFTWARE_INFO = {'sw_ident': 'py-celery',

+ 0 - 0
docs/internals/reference/celery.utils.datastructures.rst → docs/internals/reference/celery.datastructures.rst


+ 1 - 1
docs/internals/reference/index.rst

@@ -35,6 +35,7 @@
     celery.task.trace
     celery.app.annotations
     celery.app.routes
+    celery.datastructures
     celery.security.certificate
     celery.security.key
     celery.security.serialization
@@ -45,7 +46,6 @@
     celery.backends.database.models
     celery.backends.database.session
     celery.utils
-    celery.utils.datastructures
     celery.utils.functional
     celery.utils.objects
     celery.utils.term