]> git.llucax.com Git - software/pymin.git/blob - pymin/service/__init__.py
Use logging module to report errors in pymind.
[software/pymin.git] / pymin / service / __init__.py
1 # vim: set encoding=utf-8 et sw=4 sts=4 :
2
3 import imp
4 import logging ; log = logging.getLogger('pymin.service')
5
6 class LoadError(ImportError):
7     pass
8
9 def load_service(name, search_paths):
10     log.debug('load_service(%s, %r)', name, search_paths)
11     try:
12         (fp, path, desc) = imp.find_module(name, search_paths)
13     except ImportError:
14         raise LoadError('module "%s" not found' % name)
15
16     log.debug('load_service() -> find_module() returned %r', (fp, path, desc))
17     try:
18         m = imp.load_module(name, fp, path, desc)
19         log.debug('load_service() -> loaded module %r', m)
20         return imp.load_module(name, fp, path, desc)
21     finally:
22         if fp:
23             fp.close()
24