From 1d62b8372ba41b80a03ea21822b683bdfad5312c Mon Sep 17 00:00:00 2001 From: Ladislav Michl Date: Tue, 6 May 2025 23:32:27 +0200 Subject: [PATCH] Base: fix Python interface for Unit schema selection Fixes: 1155f0d75281 ("Base: simplify UnitsSchemas management") --- src/Base/UnitsApiPy.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Base/UnitsApiPy.cpp b/src/Base/UnitsApiPy.cpp index f6a0d49870..7efd122c2d 100644 --- a/src/Base/UnitsApiPy.cpp +++ b/src/Base/UnitsApiPy.cpp @@ -135,7 +135,7 @@ PyObject* UnitsApi::sGetSchema(PyObject* /*self*/, PyObject* args) return nullptr; } - return Py_BuildValue("i", count()); + return Py_BuildValue("i", schemas->currentSchema()->getNum()); } PyObject* UnitsApi::sSetSchema(PyObject* /*self*/, PyObject* args) @@ -164,7 +164,7 @@ PyObject* UnitsApi::sSchemaTranslate(PyObject* /*self*/, PyObject* args) if (index < 0 || index >= static_cast(count())) { PyErr_SetString(PyExc_ValueError, - std::string {"invalid schema index:" + std::to_string(index)}.c_str()); + std::string {"invalid schema index: " + std::to_string(index)}.c_str()); return nullptr; } @@ -172,7 +172,8 @@ PyObject* UnitsApi::sSchemaTranslate(PyObject* /*self*/, PyObject* args) double factor {}; std::string unitStr; - const std::string unitStrLocalised = schemaTranslate(quant, factor, unitStr); + auto schema = std::make_unique(schemas->spec(index)); + const std::string unitStrLocalised = schema->translate(quant, factor, unitStr); Py::Tuple res {3}; res[0] = Py::String {unitStrLocalised, "utf-8"};