|
@@ -3,6 +3,7 @@ from __future__ import absolute_import
|
|
|
import operator
|
|
|
import sys
|
|
|
|
|
|
+from importlib import import_module
|
|
|
from types import ModuleType
|
|
|
|
|
|
from .local import Proxy
|
|
@@ -77,7 +78,8 @@ COMPAT_MODULES = {
|
|
|
"revoke": "control.revoke",
|
|
|
"discard_all": "control.purge",
|
|
|
"inspect": "control.inspect",
|
|
|
- }
|
|
|
+ },
|
|
|
+ "schedules": "celery.schedules",
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -168,9 +170,13 @@ def get_compat_module(pkg, name):
|
|
|
return Proxy(getappattr, (attr, ))
|
|
|
return attr
|
|
|
|
|
|
- attrs = dict(COMPAT_MODULES[pkg.__name__][name])
|
|
|
+ attrs = COMPAT_MODULES[pkg.__name__][name]
|
|
|
+ if isinstance(attrs, basestring):
|
|
|
+ fqdn = '.'.join([pkg.__name__, name])
|
|
|
+ module = sys.modules[fqdn] = import_module(attrs)
|
|
|
+ return module
|
|
|
attrs["__all__"] = attrs.keys()
|
|
|
- return create_module(name, attrs, pkg=pkg, prepare_attr=prepare)
|
|
|
+ return create_module(name, dict(attrs), pkg=pkg, prepare_attr=prepare)
|
|
|
|
|
|
|
|
|
def get_origins(defs):
|