Mercurial > public > mercurial-scm > hg-stable
diff mercurial/extensions.py @ 4569:622d8ed78b47
extensions: load modules in module/__init__.py form.
For example, convert=/path/to/convert now works.
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Wed, 13 Jun 2007 13:46:40 -0700 |
parents | 9338be783398 |
children | b1716a8b32d3 |
line wrap: on
line diff
--- a/mercurial/extensions.py Tue Jun 12 13:21:42 2007 -0700 +++ b/mercurial/extensions.py Wed Jun 13 13:46:40 2007 -0700 @@ -5,7 +5,8 @@ # This software may be used and distributed according to the terms # of the GNU General Public License, incorporated herein by reference. -import imp, commands, hg, util, sys +import imp, os +import commands, hg, util, sys from i18n import _ _extensions = {} @@ -28,7 +29,12 @@ # choose an unique name so that it doesn't # conflicts with other modules module_name = "hgext_%s" % name.replace('.', '_') - mod = imp.load_source(module_name, path) + if os.path.isdir(path): + # module/__init__.py style + fd, fpath, desc = imp.find_module('', [path]) + mod = imp.load_module(module_name, fd, fpath, desc) + else: + mod = imp.load_source(module_name, path) else: def importh(name): mod = __import__(name)