def abbrtask(S, max): if S is None: return "???" if len(S) > max: module, _, cls = rpartition(S, ".") module = abbr(module, max - len(cls), False) return module + "[.]" + cls return S
def resolve_transport(transport=None): transport = TRANSPORT_ALIASES.get(transport, transport) if callable(transport): transport = transport() transport_module_name, _, transport_cls_name = rpartition(transport, ".") if not transport_module_name: raise KeyError("No such transport: %s" % (transport, )) return transport_module_name, transport_cls_name
def resolve_transport(transport=None): transport = TRANSPORT_ALIASES.get(transport, transport) if callable(transport): transport = transport() transport_module_name, _, transport_cls_name = rpartition(transport, ".") if not transport_module_name: raise KeyError("No such transport: %s" % (transport,)) return transport_module_name, transport_cls_name
def abbrtask(S, max): if S is None: return "???" if len(S) > max: module, _, cls = rpartition(S, ".") module = abbr(module, max - len(cls) - 3, False) return module + "[.]" + cls return S
def get_cls_by_name(name, aliases={}, imp=None): """Get class by name. The name should be the full dot-separated path to the class:: modulename.ClassName Example:: celery.concurrency.processes.TaskPool ^- class name If `aliases` is provided, a dict containing short name/long name mappings, the name is looked up in the aliases first. Examples: >>> get_cls_by_name("celery.concurrency.processes.TaskPool") <class 'celery.concurrency.processes.TaskPool'> >>> get_cls_by_name("default", { ... "default": "celery.concurrency.processes.TaskPool"}) <class 'celery.concurrency.processes.TaskPool'> # Does not try to look up non-string names. >>> from celery.concurrency.processes import TaskPool >>> get_cls_by_name(TaskPool) is TaskPool True """ if imp is None: imp = importlib.import_module if not isinstance(name, basestring): return name # already a class name = aliases.get(name) or name module_name, _, cls_name = rpartition(name, ".") try: module = imp(module_name) except ValueError, exc: raise ValueError("Couldn't import %r: %s" % (name, exc))
def resolve_backend(backend=None): backend = BACKEND_ALIASES.get(backend, backend) backend_module_name, _, backend_cls_name = rpartition(backend, ".") if not backend_module_name: raise KeyError("No such backend: %s" % (backend, )) return backend_module_name, backend_cls_name