rewrite demandload module to be more flexible.
performance not affected.
old demandload module could only import top-level modules like os and
sys.
with rewrite, all of following syntax is emulated perfectly:
import foo, bar foo bar
import foo.bar.quux foo.bar.quux
from foo.bar import quux, blurfl foo.bar:quux,blurfl
only thing missing is "import foo as bar".
also, namespace clashes between placeholder object and demand loaded
module are no longer possible.
#!/usr/bin/env python
#
# An example CGI script to export multiple hgweb repos, edit as necessary
import cgitb, sys
cgitb.enable()
# sys.path.insert(0, "/path/to/python/lib") # if not a system-wide install
from mercurial import hgweb
# The config file looks like this:
# [paths]
# virtual/path = /real/path
# virtual/path = /real/path
# Alternatively you can pass a list of ('virtual/path', '/real/path') tuples
# or use a dictionary with entries like 'virtual/path': '/real/path'
h = hgweb.hgwebdir("hgweb.config")
h.run()