Procházet zdrojové kódy

Moves .utils.strtobool to .utils.serialization

Ask Solem před 8 roky
rodič
revize
7acdc0d452

+ 1 - 1
celery/app/defaults.py

@@ -14,8 +14,8 @@ from collections import deque, namedtuple
 from datetime import timedelta
 
 from celery.five import items, keys, python_2_unicode_compatible, values
-from celery.utils import strtobool
 from celery.utils.functional import memoize
+from celery.utils.serialization import strtobool
 
 __all__ = ['Option', 'NAMESPACES', 'flatten', 'find']
 

+ 1 - 1
celery/bin/amqp.py

@@ -21,7 +21,7 @@ from celery.utils.functional import padlist
 
 from celery.bin.base import Command
 from celery.five import string_t
-from celery.utils import strtobool
+from celery.utils.serialization import strtobool
 
 __all__ = ['AMQPAdmin', 'AMQShell', 'Spec', 'amqp']
 

+ 1 - 1
celery/loaders/default.py

@@ -12,8 +12,8 @@ import os
 import warnings
 
 from celery.exceptions import NotConfigured
-from celery.utils import strtobool
 from celery.utils.collections import DictAttribute
+from celery.utils.serialization import strtobool
 
 from .base import BaseLoader
 

+ 1 - 14
celery/utils/__init__.py

@@ -21,7 +21,7 @@ from .functional import memoize  # noqa
 from .nodenames import worker_direct, nodename, nodesplit
 
 __all__ = ['worker_direct',
-           'maybe_reraise', 'strtobool',
+           'maybe_reraise',
            'jsonify', 'gen_task_name', 'nodename', 'nodesplit',
            'cached_property']
 
@@ -40,19 +40,6 @@ def maybe_reraise():
         del(exc_info)
 
 
-def strtobool(term, table={'false': False, 'no': False, '0': False,
-                           'true': True, 'yes': True, '1': True,
-                           'on': True, 'off': False}):
-    """Convert common terms for true/false to bool
-    (true/false/yes/no/on/off/1/0)."""
-    if isinstance(term, string_t):
-        try:
-            return table[term.lower()]
-        except KeyError:
-            raise TypeError('Cannot coerce {0!r} to type bool'.format(term))
-    return term
-
-
 def jsonify(obj,
             builtin_types=(numbers.Real, string_t), key=None,
             keyfilter=None,

+ 15 - 2
celery/utils/serialization.py

@@ -8,7 +8,7 @@
 """
 from __future__ import absolute_import, unicode_literals
 
-from celery.five import bytes_if_py2, python_2_unicode_compatible
+from celery.five import bytes_if_py2, python_2_unicode_compatible, string_t
 
 from base64 import b64encode as base64encode, b64decode as base64decode
 from inspect import getmro
@@ -26,7 +26,7 @@ from .encoding import safe_repr
 __all__ = ['UnpickleableExceptionWrapper', 'subclass_exception',
            'find_pickleable_exception', 'create_exception_cls',
            'get_pickleable_exception', 'get_pickleable_etype',
-           'get_pickled_exception']
+           'get_pickled_exception', 'strtobool']
 
 #: List of base classes we probably don't want to reduce to.
 try:
@@ -178,3 +178,16 @@ def b64encode(s):
 
 def b64decode(s):
     return base64decode(str_to_bytes(s))
+
+
+def strtobool(term, table={'false': False, 'no': False, '0': False,
+                           'true': True, 'yes': True, '1': True,
+                           'on': True, 'off': False}):
+    """Convert common terms for true/false to bool
+    (true/false/yes/no/on/off/1/0)."""
+    if isinstance(term, string_t):
+        try:
+            return table[term.lower()]
+        except KeyError:
+            raise TypeError('Cannot coerce {0!r} to type bool'.format(term))
+    return term