MCPcopy Index your code
hub / github.com/pyload/pyload / _ImportRedirect

Class _ImportRedirect

module/lib/bottle.py:1526–1550  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1524
1525#: Not a plugin, but part of the plugin API. TODO: Find a better place.
1526class _ImportRedirect(object):
1527 def __init__(self, name, impmask):
1528 ''' Create a virtual package that redirects imports (see PEP 302). '''
1529 self.name = name
1530 self.impmask = impmask
1531 self.module = sys.modules.setdefault(name, imp.new_module(name))
1532 self.module.__dict__.update({'__file__': __file__, '__path__': [],
1533 '__all__': [], '__loader__': self})
1534 sys.meta_path.append(self)
1535
1536 def find_module(self, fullname, path=None):
1537 if '.' not in fullname: return
1538 packname, modname = fullname.rsplit('.', 1)
1539 if packname != self.name: return
1540 return self
1541
1542 def load_module(self, fullname):
1543 if fullname in sys.modules: return sys.modules[fullname]
1544 packname, modname = fullname.rsplit('.', 1)
1545 realname = self.impmask % modname
1546 __import__(realname)
1547 module = sys.modules[fullname] = sys.modules[realname]
1548 setattr(self.module, modname, module)
1549 module.__loader__ = self
1550 return module
1551
1552
1553

Callers 1

bottle.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected