Source code for httk.external.subimport

# 
#    The high-throughput toolkit (httk)
#    Copyright (C) 2012-2015 Rickard Armiento
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU Affero General Public License as
#    published by the Free Software Foundation, either version 3 of the
#    License, or (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU Affero General Public License for more details.
#
#    You should have received a copy of the GNU Affero General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.

import imp, os.path, inspect

_realpath = os.path.realpath(os.path.abspath(os.path.split(inspect.getfile(inspect.currentframe()))[0]))    


[docs]def submodule_import_external(modulepath, pkg): pathstr = os.path.join(_realpath, modulepath) try: fp, pathname, description = imp.find_module(pkg, [pathstr]) except ImportError as e: return e try: mod = imp.load_module(pkg, fp, pathname, description) finally: # since we may exit via an exception, close fp explicitly if fp: fp.close() return mod