LSSTApplications  18.1.0
LSSTDataManagementBasePackage
Static Public Member Functions | Protected Member Functions | List of all members
lsst::base::PythonModuleImporter Class Reference
Inheritance diagram for lsst::base::PythonModuleImporter:
lsst::base::ModuleImporter

Static Public Member Functions

static ModuleImporter const * get ()
 
static bool import (std::string const &name)
 Import the given Python module, and return true if successful. More...
 

Protected Member Functions

virtual bool _import (std::string const &name) const
 

Detailed Description

Definition at line 30 of file lsstcppimport.cc.

Member Function Documentation

◆ _import()

bool lsst::base::PythonModuleImporter::_import ( std::string const &  name) const
protectedvirtual

Implements lsst::base::ModuleImporter.

Definition at line 44 of file lsstcppimport.cc.

44  {
45  PyObject* mod = PyImport_ImportModule(name.c_str());
46  if (mod) {
47  Py_DECREF(mod);
48  return true;
49  } else {
50  // If the Python C API call returned a null pointer, it will
51  // also have set an exception. We don't want that, because
52  // this isn't necessarily an error (that's up to the caller).
53  PyErr_Clear();
54  }
55  return false;
56 }

◆ get()

static ModuleImporter const* lsst::base::PythonModuleImporter::get ( )
inlinestatic

Definition at line 32 of file lsstcppimport.cc.

32  {
33  static PythonModuleImporter const instance;
34  return &instance;
35  }

◆ import()

bool lsst::base::ModuleImporter::import ( std::string const &  name)
staticinherited

Import the given Python module, and return true if successful.

Definition at line 49 of file ModuleImporter.cc.

49  {
50  return getImporterSingleton()->_import(name);
51 }

The documentation for this class was generated from the following file: