Browse Source

Cosmetics

Ask Solem 13 years ago
parent
commit
371a359365
2 changed files with 11 additions and 26 deletions
  1. 8 14
      celery/backends/mongodb.py
  2. 3 12
      celery/tests/backends/test_mongodb.py

+ 8 - 14
celery/backends/mongodb.py

@@ -3,8 +3,6 @@
 """MongoDB backend for celery."""
 from __future__ import absolute_import
 
-import warnings
-
 from datetime import datetime
 
 try:
@@ -12,6 +10,14 @@ try:
 except ImportError:  # pragma: no cover
     pymongo = None   # noqa
 
+if pymongo:
+    try:
+        from bson.binary import Binary
+    except ImportError:                     # pragma: no cover
+        from pymongo.binary import Binary   # noqa
+else:                                       # pragma: no cover
+    Binary = None                           # noqa
+
 from kombu.utils import cached_property
 
 from celery import states
@@ -97,12 +103,6 @@ class MongoBackend(BaseDictBackend):
 
     def _store_result(self, task_id, result, status, traceback=None):
         """Store return value and status of an executed task."""
-        try:
-            from bson.binary import Binary
-        except ImportError:
-            from pymongo.binary import Binary
-            warnings.warn("pymongo.binary has been removed in pymongo>2.2 in favor of bson.binary")
-            
         meta = {"_id": task_id,
                 "status": status,
                 "result": Binary(self.encode(result)),
@@ -131,12 +131,6 @@ class MongoBackend(BaseDictBackend):
 
     def _save_taskset(self, taskset_id, result):
         """Save the taskset result."""
-        try:
-            from bson.binary import Binary
-        except ImportError:
-            from pymongo.binary import Binary
-            warnings.warn("pymongo.binary has been removed pymongo >2.1 in favor of bson.binary")
-            
         meta = {"_id": taskset_id,
                 "result": Binary(self.encode(result)),
                 "date_done": datetime.utcnow()}

+ 3 - 12
celery/tests/backends/test_mongodb.py

@@ -11,17 +11,10 @@ from pickle import loads, dumps
 from celery import Celery
 from celery import states
 from celery.backends import mongodb as module
-from celery.backends.mongodb import MongoBackend, Bunch
+from celery.backends.mongodb import MongoBackend, Bunch, pymongo
 from celery.exceptions import ImproperlyConfigured
 from celery.tests.utils import AppCase
 
-
-try:
-    import pymongo
-except ImportError:
-    pymongo = None  # noqa
-
-
 COLLECTION = "taskmeta_celery"
 TASK_ID = str(uuid.uuid1())
 MONGODB_HOST = "localhost"
@@ -37,21 +30,19 @@ class test_MongoBackend(AppCase):
     def setUp(self):
         if pymongo is None:
             raise SkipTest("pymongo is not installed.")
-        from pymongo import binary
 
         R = self._reset = {}
         R["encode"], MongoBackend.encode = MongoBackend.encode, Mock()
         R["decode"], MongoBackend.decode = MongoBackend.decode, Mock()
-        R["Binary"], binary.Binary = binary.Binary, Mock()
+        R["Binary"], module.Binary = module.Binary, Mock()
         R["datetime"], datetime.datetime = datetime.datetime, Mock()
 
         self.backend = MongoBackend()
 
     def tearDown(self):
-        from pymongo import binary
         MongoBackend.encode = self._reset["encode"]
         MongoBackend.decode = self._reset["decode"]
-        binary.Binary = self._reset["Binary"]
+        module.Binary = self._reset["Binary"]
         datetime.datetime = self._reset["datetime"]
 
     def test_Bunch(self):