Browse Source

Renames celery.datastructures -> celery.utils.datastructures

Ask Solem 12 years ago
parent
commit
f5c2b546c3

+ 2 - 1
celery/__init__.py

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

+ 5 - 4
celery/app/task.py

@@ -10,11 +10,12 @@ from __future__ import absolute_import
 
 
 import sys
 import sys
 
 
+from billiard.einfo import ExceptionInfo
+
 from celery import current_app
 from celery import current_app
 from celery import states
 from celery import states
 from celery._state import get_current_worker_task, _task_stack
 from celery._state import get_current_worker_task, _task_stack
 from celery.canvas import subtask
 from celery.canvas import subtask
-from celery.datastructures import ExceptionInfo
 from celery.exceptions import MaxRetriesExceededError, RetryTaskError
 from celery.exceptions import MaxRetriesExceededError, RetryTaskError
 from celery.five import class_property, items, with_metaclass
 from celery.five import class_property, items, with_metaclass
 from celery.result import EagerResult
 from celery.result import EagerResult
@@ -744,7 +745,7 @@ class Task(object):
         :param args: Original arguments for the retried task.
         :param args: Original arguments for the retried task.
         :param kwargs: Original keyword arguments for the retried task.
         :param kwargs: Original keyword arguments for the retried task.
 
 
-        :keyword einfo: :class:`~celery.datastructures.ExceptionInfo`
+        :keyword einfo: :class:`~billiard.einfo.ExceptionInfo`
                         instance, containing the traceback.
                         instance, containing the traceback.
 
 
         The return value of this handler is ignored.
         The return value of this handler is ignored.
@@ -763,7 +764,7 @@ class Task(object):
         :param kwargs: Original keyword arguments for the task
         :param kwargs: Original keyword arguments for the task
                        that failed.
                        that failed.
 
 
-        :keyword einfo: :class:`~celery.datastructures.ExceptionInfo`
+        :keyword einfo: :class:`~billiard.einfo.ExceptionInfo`
                         instance, containing the traceback.
                         instance, containing the traceback.
 
 
         The return value of this handler is ignored.
         The return value of this handler is ignored.
@@ -781,7 +782,7 @@ class Task(object):
         :param kwargs: Original keyword arguments for the task
         :param kwargs: Original keyword arguments for the task
                        that failed.
                        that failed.
 
 
-        :keyword einfo: :class:`~celery.datastructures.ExceptionInfo`
+        :keyword einfo: :class:`~billiard.einfo.ExceptionInfo`
                         instance, containing the traceback (if any).
                         instance, containing the traceback (if any).
 
 
         The return value of this handler is ignored.
         The return value of this handler is ignored.

+ 1 - 1
celery/app/utils.py

@@ -14,7 +14,7 @@ import re
 
 
 from celery.platforms import pyimplementation
 from celery.platforms import pyimplementation
 from celery.five import items
 from celery.five import items
-from celery.datastructures import ConfigurationView
+from celery.utils.datastructures import ConfigurationView
 from celery.utils.text import pretty
 from celery.utils.text import pretty
 from celery.utils.imports import qualname
 from celery.utils.imports import qualname
 
 

+ 1 - 1
celery/backends/base.py

@@ -24,11 +24,11 @@ from kombu.utils.encoding import bytes_to_str, ensure_bytes, from_utf8
 
 
 from celery import states
 from celery import states
 from celery.app import current_task
 from celery.app import current_task
-from celery.datastructures import LRUCache
 from celery.exceptions import ChordError, TimeoutError, TaskRevokedError
 from celery.exceptions import ChordError, TimeoutError, TaskRevokedError
 from celery.five import items
 from celery.five import items
 from celery.result import from_serializable, GroupResult
 from celery.result import from_serializable, GroupResult
 from celery.utils import timeutils
 from celery.utils import timeutils
+from celery.utils.functional import LRUCache
 from celery.utils.serialization import (
 from celery.utils.serialization import (
     get_pickled_exception,
     get_pickled_exception,
     get_pickleable_exception,
     get_pickleable_exception,

+ 1 - 1
celery/backends/cache.py

@@ -10,8 +10,8 @@ from __future__ import absolute_import
 
 
 from kombu.utils import cached_property
 from kombu.utils import cached_property
 
 
-from celery.datastructures import LRUCache
 from celery.exceptions import ImproperlyConfigured
 from celery.exceptions import ImproperlyConfigured
+from celery.utils.functional import LRUCache
 
 
 from .base import KeyValueStoreBackend
 from .base import KeyValueStoreBackend
 
 

+ 1 - 1
celery/bin/graph.py

@@ -10,8 +10,8 @@ from __future__ import absolute_import, unicode_literals
 
 
 from operator import itemgetter
 from operator import itemgetter
 
 
-from celery.datastructures import DependencyGraph, GraphFormatter
 from celery.five import items
 from celery.five import items
+from celery.utils.datastructures import DependencyGraph, GraphFormatter
 
 
 from .base import Command
 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.common import ignore_errors
 from kombu.utils import symbol_by_name
 from kombu.utils import symbol_by_name
 
 
-from .datastructures import DependencyGraph, GraphFormatter
 from .five import values, with_metaclass
 from .five import values, with_metaclass
+from .utils.datastructures import DependencyGraph, GraphFormatter
 from .utils.imports import instantiate, qualname
 from .utils.imports import instantiate, qualname
 from .utils.log import get_logger
 from .utils.log import get_logger
 from .utils.threads import default_socket_timeout
 from .utils.threads import default_socket_timeout

+ 1 - 1
celery/events/dumper.py

@@ -14,7 +14,7 @@ import sys
 from datetime import datetime
 from datetime import datetime
 
 
 from celery.app import app_or_default
 from celery.app import app_or_default
-from celery.datastructures import LRUCache
+from celery.utils.functional import LRUCache
 from celery.utils.timeutils import humanize_seconds
 from celery.utils.timeutils import humanize_seconds
 
 
 TASK_NAMES = LRUCache(limit=0xFFF)
 TASK_NAMES = LRUCache(limit=0xFFF)

+ 2 - 1
celery/events/state.py

@@ -28,8 +28,9 @@ from time import time
 from kombu.utils import kwdict
 from kombu.utils import kwdict
 
 
 from celery import states
 from celery import states
-from celery.datastructures import AttributeDict, LRUCache
 from celery.five import items, values
 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
 from celery.utils.log import get_logger
 
 
 # The window (in percentage) is added to the workers heartbeat
 # The window (in percentage) is added to the workers heartbeat

+ 1 - 1
celery/loaders/base.py

@@ -20,8 +20,8 @@ from datetime import datetime
 from kombu.utils import cached_property
 from kombu.utils import cached_property
 from kombu.utils.encoding import safe_str
 from kombu.utils.encoding import safe_str
 
 
-from celery.datastructures import DictAttribute
 from celery.five import reraise, string_t
 from celery.five import reraise, string_t
+from celery.utils.datastructures import DictAttribute
 from celery.utils.functional import maybe_list
 from celery.utils.functional import maybe_list
 from celery.utils.imports import (
 from celery.utils.imports import (
     import_from_cwd, symbol_by_name, NotAPackage, find_module,
     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 os
 import warnings
 import warnings
 
 
-from celery.datastructures import DictAttribute
 from celery.exceptions import NotConfigured
 from celery.exceptions import NotConfigured
 from celery.utils import strtobool
 from celery.utils import strtobool
+from celery.utils.datastructures import DictAttribute
 
 
 from .base import BaseLoader
 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 current_app
 from . import states
 from . import states
 from .app import app_or_default
 from .app import app_or_default
-from .datastructures import DependencyGraph, GraphFormatter
 from .exceptions import IncompleteStream, TimeoutError
 from .exceptions import IncompleteStream, TimeoutError
 from .five import items, range, string_t
 from .five import items, range, string_t
+from .utils.datastructures import DependencyGraph, GraphFormatter
 
 
 
 
 class ResultBase(object):
 class ResultBase(object):

+ 1 - 1
celery/schedules.py

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

+ 1 - 1
celery/task/trace.py

@@ -21,6 +21,7 @@ import sys
 
 
 from warnings import warn
 from warnings import warn
 
 
+from billiard.einfo import ExceptionInfo
 from kombu.utils import kwdict
 from kombu.utils import kwdict
 
 
 from celery import current_app
 from celery import current_app
@@ -28,7 +29,6 @@ from celery import states, signals
 from celery._state import _task_stack
 from celery._state import _task_stack
 from celery.app import set_default_app
 from celery.app import set_default_app
 from celery.app.task import Task as BaseTask, Context
 from celery.app.task import Task as BaseTask, Context
-from celery.datastructures import ExceptionInfo
 from celery.exceptions import Ignore, RetryTaskError
 from celery.exceptions import Ignore, RetryTaskError
 from celery.utils.log import get_logger
 from celery.utils.log import get_logger
 from celery.utils.objects import mro_lookup
 from celery.utils.objects import mro_lookup

+ 3 - 2
celery/tests/app/test_routes.py

@@ -8,6 +8,8 @@ from kombu.utils.functional import maybe_promise
 from celery.app import routes
 from celery.app import routes
 from celery.exceptions import QueueNotFound
 from celery.exceptions import QueueNotFound
 from celery.task import task
 from celery.task import task
+from celery.utils.functional import LRUCache
+
 from celery.tests.case import AppCase
 from celery.tests.case import AppCase
 
 
 
 
@@ -149,10 +151,9 @@ class test_lookup_route(RouteCase):
 class test_prepare(AppCase):
 class test_prepare(AppCase):
 
 
     def test_prepare(self):
     def test_prepare(self):
-        from celery.datastructures import LRUCache
         o = object()
         o = object()
         R = [{'foo': 'bar'},
         R = [{'foo': 'bar'},
-             'celery.datastructures.LRUCache', o]
+             'celery.utils.functional.LRUCache', o]
         p = routes.prepare(R)
         p = routes.prepare(R)
         self.assertIsInstance(p[0], routes.MapRoute)
         self.assertIsInstance(p[0], routes.MapRoute)
         self.assertIsInstance(maybe_promise(p[1]), LRUCache)
         self.assertIsInstance(maybe_promise(p[1]), LRUCache)

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

@@ -7,13 +7,13 @@ from contextlib import contextmanager
 from datetime import timedelta
 from datetime import timedelta
 from pickle import dumps, loads
 from pickle import dumps, loads
 
 
+from billiard.einfo import ExceptionInfo
 from mock import patch
 from mock import patch
 
 
 from celery import current_app
 from celery import current_app
 from celery import states
 from celery import states
 from celery.app import app_or_default
 from celery.app import app_or_default
 from celery.backends.amqp import AMQPBackend
 from celery.backends.amqp import AMQPBackend
-from celery.datastructures import ExceptionInfo
 from celery.exceptions import TimeoutError
 from celery.exceptions import TimeoutError
 from celery.five import Empty, Queue, range
 from celery.five import Empty, Queue, range
 from celery.utils import uuid
 from celery.utils import uuid

+ 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 current_app
 from celery import states
 from celery import states
-from celery.datastructures import AttributeDict
 from celery.exceptions import ImproperlyConfigured
 from celery.exceptions import ImproperlyConfigured
 from celery.result import AsyncResult
 from celery.result import AsyncResult
 from celery.task import subtask
 from celery.task import subtask
+from celery.utils.datastructures import AttributeDict
 from celery.utils.timeutils import timedelta_seconds
 from celery.utils.timeutils import timedelta_seconds
 
 
 from celery.tests.case import Case
 from celery.tests.case import Case

+ 2 - 1
celery/tests/concurrency/test_pool.py

@@ -5,7 +5,8 @@ import itertools
 
 
 from nose import SkipTest
 from nose import SkipTest
 
 
-from celery.datastructures import ExceptionInfo
+from billiard.einfo import ExceptionInfo
+
 from celery.tests.case import Case
 from celery.tests.case import Case
 
 
 
 

+ 5 - 3
celery/tests/utils/test_datastructures.py

@@ -1,14 +1,16 @@
 from __future__ import absolute_import
 from __future__ import absolute_import
 
 
-from celery.datastructures import (
-    ExceptionInfo,
+from billiard.einfo import ExceptionInfo
+
+from celery.five import items
+from celery.utils.datastructures import (
     LimitedSet,
     LimitedSet,
     AttributeDict,
     AttributeDict,
     DictAttribute,
     DictAttribute,
     ConfigurationView,
     ConfigurationView,
     DependencyGraph,
     DependencyGraph,
 )
 )
-from celery.five import items
+
 from celery.tests.case import Case, WhateverIO
 from celery.tests.case import Case, WhateverIO
 
 
 
 

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

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

+ 3 - 2
celery/tests/worker/test_control.py

@@ -9,19 +9,20 @@ from datetime import datetime, timedelta
 from kombu import pidbox
 from kombu import pidbox
 from mock import Mock, patch, call
 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.task import task
 from celery.utils import uuid
 from celery.utils import uuid
+from celery.utils.datastructures import AttributeDict
 from celery.utils.timer2 import Timer
 from celery.utils.timer2 import Timer
 from celery.worker import WorkController as _WC
 from celery.worker import WorkController as _WC
 from celery.worker import consumer
 from celery.worker import consumer
 from celery.worker import control
 from celery.worker import control
 from celery.worker import state as worker_state
 from celery.worker import state as worker_state
-from celery.five import Queue as FastQueue
 from celery.worker.job import TaskRequest
 from celery.worker.job import TaskRequest
 from celery.worker.state import revoked
 from celery.worker.state import revoked
 from celery.worker.control import Panel
 from celery.worker.control import Panel
 from celery.worker.pidbox import Pidbox, gPidbox
 from celery.worker.pidbox import Pidbox, gPidbox
+
 from celery.tests.case import AppCase
 from celery.tests.case import AppCase
 
 
 hostname = socket.gethostname()
 hostname = socket.gethostname()

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

@@ -10,6 +10,7 @@ import time
 
 
 from datetime import datetime, timedelta
 from datetime import datetime, timedelta
 
 
+from billiard.einfo import ExceptionInfo
 from kombu.transport.base import Message
 from kombu.transport.base import Message
 from kombu.utils.encoding import from_utf8, default_encode
 from kombu.utils.encoding import from_utf8, default_encode
 from mock import Mock, patch
 from mock import Mock, patch
@@ -17,7 +18,6 @@ from nose import SkipTest
 
 
 from celery import states
 from celery import states
 from celery.concurrency.base import BasePool
 from celery.concurrency.base import BasePool
-from celery.datastructures import ExceptionInfo
 from celery.exceptions import (
 from celery.exceptions import (
     RetryTaskError,
     RetryTaskError,
     WorkerLostError,
     WorkerLostError,

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

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

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

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

+ 5 - 8
celery/datastructures.py → celery/utils/datastructures.py

@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 # -*- coding: utf-8 -*-
 """
 """
-    celery.datastructures
-    ~~~~~~~~~~~~~~~~~~~~~
+    celery.utils.datastructures
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
     Custom types and data structures.
     Custom types and data structures.
 
 
@@ -20,8 +20,9 @@ from billiard.einfo import ExceptionInfo  # noqa
 from kombu.utils.encoding import safe_str
 from kombu.utils.encoding import safe_str
 from kombu.utils.limits import TokenBucket  # noqa
 from kombu.utils.limits import TokenBucket  # noqa
 
 
-from .five import items
-from .utils.functional import LRUCache, first, uniq  # noqa
+from celery.five import items
+
+from .functional import LRUCache, first, uniq  # noqa
 
 
 DOT_HEAD = """
 DOT_HEAD = """
 {IN}{type} {id} {{
 {IN}{type} {id} {{
@@ -627,10 +628,6 @@ class LimitedSet(object):
     def __repr__(self):
     def __repr__(self):
         return 'LimitedSet(%s)' % (repr(list(self._data))[:100], )
         return 'LimitedSet(%s)' % (repr(list(self._data))[:100], )
 
 
-    @property
-    def chronologically(self):
-        return [value for _, value in self._heap]
-
     @property
     @property
     def first(self):
     def first(self):
         """Get the oldest member."""
         """Get the oldest member."""

+ 1 - 1
celery/worker/job.py

@@ -14,6 +14,7 @@ import time
 import socket
 import socket
 import sys
 import sys
 
 
+from billiard.einfo import ExceptionInfo
 from datetime import datetime
 from datetime import datetime
 
 
 from kombu.utils import kwdict, reprcall
 from kombu.utils import kwdict, reprcall
@@ -21,7 +22,6 @@ from kombu.utils.encoding import safe_repr, safe_str
 
 
 from celery import signals
 from celery import signals
 from celery.app import app_or_default
 from celery.app import app_or_default
-from celery.datastructures import ExceptionInfo
 from celery.exceptions import (
 from celery.exceptions import (
     Ignore, TaskRevokedError, InvalidTaskError,
     Ignore, TaskRevokedError, InvalidTaskError,
     SoftTimeLimitExceeded, TimeLimitExceeded,
     SoftTimeLimitExceeded, TimeLimitExceeded,

+ 1 - 1
celery/worker/pidbox.py

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

+ 1 - 1
celery/worker/state.py

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

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


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

@@ -39,13 +39,13 @@
     celery.security.key
     celery.security.key
     celery.security.serialization
     celery.security.serialization
     celery.security.utils
     celery.security.utils
-    celery.datastructures
     celery.events.snapshot
     celery.events.snapshot
     celery.events.cursesmon
     celery.events.cursesmon
     celery.events.dumper
     celery.events.dumper
     celery.backends.database.models
     celery.backends.database.models
     celery.backends.database.session
     celery.backends.database.session
     celery.utils
     celery.utils
+    celery.utils.datastructures
     celery.utils.functional
     celery.utils.functional
     celery.utils.objects
     celery.utils.objects
     celery.utils.term
     celery.utils.term