libcalamares: embed the pybind11 API differently

This commit is contained in:
Adriaan de Groot 2023-10-24 14:57:55 +02:00
parent f496570df4
commit ede1c29a0e

View File

@ -584,7 +584,7 @@ GlobalStorageProxy::value( const std::string& key ) const
// to crash with an error about adding modules after the interpreter
// has been initialized.
static void
populate_utils( py::module_&& m )
populate_utils( py::module_& m )
{
m.def( "obscure", &Calamares::Python::obscure, "A function that obscures (encodes) a string" );
@ -642,7 +642,8 @@ populate_utils( py::module_&& m )
"-3 = bad arguments" );
}
PYBIND11_MODULE( libcalamares, m )
static void
populate_libcalamares( py::module_& m )
{
m.doc() = "Calamares API for Python";
@ -652,7 +653,8 @@ PYBIND11_MODULE( libcalamares, m )
m.add_object( "VERSION", Calamares::Python::String( CALAMARES_VERSION ) );
m.add_object( "VERSION_SHORT", Calamares::Python::String( CALAMARES_VERSION_SHORT ) );
populate_utils( m.def_submodule( "utils", "Calamares Utility API for Python" ) );
auto utils = m.def_submodule( "utils", "Calamares Utility API for Python" );
populate_utils( utils );
py::class_< Calamares::Python::JobProxy >( m, "Job" )
.def_readonly( "module_name", &Calamares::Python::JobProxy::moduleName )
@ -670,3 +672,8 @@ PYBIND11_MODULE( libcalamares, m )
.def( "remove", &Calamares::Python::GlobalStorageProxy::remove )
.def( "value", &Calamares::Python::GlobalStorageProxy::value );
}
PYBIND11_MODULE( libcalamares, m )
{
populate_libcalamares( m );
}