LSST Applications g0b6bd0c080+a72a5dd7e6,g1182afd7b4+2a019aa3bb,g17e5ecfddb+2b8207f7de,g1d67935e3f+06cf436103,g38293774b4+ac198e9f13,g396055baef+6a2097e274,g3b44f30a73+6611e0205b,g480783c3b1+98f8679e14,g48ccf36440+89c08d0516,g4b93dc025c+98f8679e14,g5c4744a4d9+a302e8c7f0,g613e996a0d+e1c447f2e0,g6c8d09e9e7+25247a063c,g7271f0639c+98f8679e14,g7a9cd813b8+124095ede6,g9d27549199+a302e8c7f0,ga1cf026fa3+ac198e9f13,ga32aa97882+7403ac30ac,ga786bb30fb+7a139211af,gaa63f70f4e+9994eb9896,gabf319e997+ade567573c,gba47b54d5d+94dc90c3ea,gbec6a3398f+06cf436103,gc6308e37c7+07dd123edb,gc655b1545f+ade567573c,gcc9029db3c+ab229f5caf,gd01420fc67+06cf436103,gd877ba84e5+06cf436103,gdb4cecd868+6f279b5b48,ge2d134c3d5+cc4dbb2e3f,ge448b5faa6+86d1ceac1d,gecc7e12556+98f8679e14,gf3ee170dca+25247a063c,gf4ac96e456+ade567573c,gf9f5ea5b4d+ac198e9f13,gff490e6085+8c2580be5c,w.2022.27
LSST Data Management Base Package
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 32 of file cppimport.cc.

Member Function Documentation

◆ _import()

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

Implements lsst::base::ModuleImporter.

Definition at line 46 of file cppimport.cc.

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

◆ get()

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

Definition at line 34 of file cppimport.cc.

34 {
35 static PythonModuleImporter const instance;
36 return &instance;
37 }

◆ 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: