MCPcopy Index your code
hub / github.com/sqlmapproject/sqlmap / _ImportRedirect

Class _ImportRedirect

thirdparty/bottle/bottle.py:2438–2471  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2436
2437#: Not a plugin, but part of the plugin API. TODO: Find a better place.
2438class _ImportRedirect(object):
2439 def __init__(self, name, impmask):
2440 """ Create a virtual package that redirects imports (see PEP 302). """
2441 self.name = name
2442 self.impmask = impmask
2443 self.module = sys.modules.setdefault(name, new_module(name))
2444 self.module.__dict__.update({
2445 '__file__': __file__,
2446 '__path__': [],
2447 '__all__': [],
2448 '__loader__': self
2449 })
2450 sys.meta_path.append(self)
2451
2452 def find_spec(self, fullname, path, target=None):
2453 if '.' not in fullname: return
2454 if fullname.rsplit('.', 1)[0] != self.name: return
2455 from importlib.util import spec_from_loader
2456 return spec_from_loader(fullname, self)
2457
2458 def find_module(self, fullname, path=None):
2459 if '.' not in fullname: return
2460 if fullname.rsplit('.', 1)[0] != self.name: return
2461 return self
2462
2463 def load_module(self, fullname):
2464 if fullname in sys.modules: return sys.modules[fullname]
2465 modname = fullname.rsplit('.', 1)[1]
2466 realname = self.impmask % modname
2467 __import__(realname)
2468 module = sys.modules[fullname] = sys.modules[realname]
2469 setattr(self.module, modname, module)
2470 module.__loader__ = self
2471 return module
2472
2473###############################################################################
2474# Common Utilities #############################################################

Callers 1

bottle.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…