[libcalamares] API for YAML-loading from Python
This commit is contained in:
parent
7f643010b2
commit
fcbe8d3a3e
@ -79,6 +79,7 @@ BOOST_PYTHON_MODULE( libcalamares )
|
||||
bp::scope utilsScope = utilsModule;
|
||||
Q_UNUSED( utilsScope )
|
||||
|
||||
// .. Logging functions
|
||||
bp::def(
|
||||
"debug", &CalamaresPython::debug, bp::args( "s" ), "Writes the given string to the Calamares debug stream." );
|
||||
bp::def( "warning",
|
||||
@ -92,6 +93,11 @@ BOOST_PYTHON_MODULE( libcalamares )
|
||||
bp::def(
|
||||
"error", &CalamaresPython::warning, bp::args( "s" ), "Writes the given string to the Calamares error stream." );
|
||||
|
||||
|
||||
// .. YAML functions
|
||||
bp::def( "load_yaml", &CalamaresPython::load_yaml, bp::args( "path" ), "Loads YAML from a file." );
|
||||
|
||||
// .. Filesystem functions
|
||||
bp::def( "mount",
|
||||
&CalamaresPython::mount,
|
||||
mount_overloads( bp::args( "device_path", "mount_point", "filesystem_name", "options" ),
|
||||
@ -100,6 +106,8 @@ BOOST_PYTHON_MODULE( libcalamares )
|
||||
"-1 = QProcess crash\n"
|
||||
"-2 = QProcess cannot start\n"
|
||||
"-3 = bad arguments" ) );
|
||||
|
||||
// .. Process functions
|
||||
bp::def(
|
||||
"target_env_call",
|
||||
static_cast< int ( * )( const std::string&, const std::string&, int ) >( &CalamaresPython::target_env_call ),
|
||||
@ -158,6 +166,7 @@ BOOST_PYTHON_MODULE( libcalamares )
|
||||
host_env_process_output_overloads( bp::args( "command", "callback", "stdin", "timeout" ),
|
||||
"Runs the specified command in the host system." ) );
|
||||
|
||||
// .. String functions
|
||||
bp::def( "obscure",
|
||||
&CalamaresPython::obscure,
|
||||
bp::args( "s" ),
|
||||
@ -166,7 +175,7 @@ BOOST_PYTHON_MODULE( libcalamares )
|
||||
"Applying the function to a string obscured by this function will result "
|
||||
"in the original string." );
|
||||
|
||||
|
||||
// .. Translation functions
|
||||
bp::def( "gettext_languages",
|
||||
&CalamaresPython::gettext_languages,
|
||||
"Returns list of languages (most to least-specific) for gettext." );
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include "utils/RAII.h"
|
||||
#include "utils/Runner.h"
|
||||
#include "utils/String.h"
|
||||
#include "utils/Yaml.h"
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QDir>
|
||||
@ -163,6 +164,13 @@ error( const std::string& s )
|
||||
log_action( Logger::LOGERROR, s );
|
||||
}
|
||||
|
||||
boost::python::dict
|
||||
load_yaml( const std::string& path )
|
||||
{
|
||||
return variantMapToPyDict( CalamaresUtils::loadYaml( QString::fromStdString( path ) ) );
|
||||
}
|
||||
|
||||
|
||||
PythonJobInterface::PythonJobInterface( Calamares::PythonJob* parent )
|
||||
: m_parent( parent )
|
||||
{
|
||||
|
@ -62,6 +62,11 @@ void debug( const std::string& s );
|
||||
void warning( const std::string& s );
|
||||
void error( const std::string& s );
|
||||
|
||||
/** @brief Loads YAML and returns (nested) dicts representing it
|
||||
*
|
||||
*/
|
||||
boost::python::dict load_yaml( const std::string& path );
|
||||
|
||||
class PythonJobInterface
|
||||
{
|
||||
public:
|
||||
|
Loading…
Reference in New Issue
Block a user