MCPcopy
hub / github.com/celery/celery / recreate_module

Function recreate_module

celery/local.py:497–520  ·  view source on GitHub ↗
(name, compat_modules=None, by_module=None, direct=None,
                    base=LazyModule, **attrs)

Source from the content-addressed store, hash-verified

495
496
497def recreate_module(name, compat_modules=None, by_module=None, direct=None,
498 base=LazyModule, **attrs):
499 compat_modules = compat_modules or COMPAT_MODULES.get(name, ())
500 by_module = by_module or {}
501 direct = direct or {}
502 old_module = sys.modules[name]
503 origins = get_origins(by_module)
504
505 _all = tuple(set(reduce(
506 operator.add,
507 [tuple(v) for v in [compat_modules, origins, direct, attrs]],
508 )))
509 cattrs = {
510 '_compat_modules': compat_modules,
511 '_all_by_module': by_module, '_direct': direct,
512 '_object_origins': origins,
513 '__all__': _all,
514 }
515 new_module = create_module(name, attrs, cls_attrs=cattrs, base=base)
516 new_module.__dict__.update({
517 mod: get_compat_module(new_module, mod) for mod in compat_modules
518 })
519 new_module.__spec__ = old_module.__spec__
520 return old_module, new_module
521
522
523def get_compat_module(pkg, name):

Callers

nothing calls this directly

Calls 5

get_originsFunction · 0.85
create_moduleFunction · 0.85
get_compat_moduleFunction · 0.85
getMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected