From 6b8d19765515182d6714b3083146d4205959a953 Mon Sep 17 00:00:00 2001 From: Julien Jerphanion Date: Thu, 1 Aug 2024 12:28:59 +0200 Subject: [PATCH] python: Adapt bindings accordingly Signed-off-by: Julien Jerphanion --- libmambapy/src/libmambapy/bindings/legacy.cpp | 3 +-- libmambapy/src/libmambapy/bindings/solver.cpp | 11 +++++++++++ .../src/libmambapy/bindings/solver_libsolv.cpp | 12 +----------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/libmambapy/src/libmambapy/bindings/legacy.cpp b/libmambapy/src/libmambapy/bindings/legacy.cpp index 861de46ec0..fe311e1c04 100644 --- a/libmambapy/src/libmambapy/bindings/legacy.cpp +++ b/libmambapy/src/libmambapy/bindings/legacy.cpp @@ -512,8 +512,7 @@ bind_submodule_impl(pybind11::module_ m) py::class_(m, "SubdirData") .def( "create_repo", - [](SubdirData& self, Context& context, solver::libsolv::Database& db - ) -> solver::libsolv::RepoInfo + [](SubdirData& self, Context& context, solver::libsolv::Database& db) -> solver::RepoInfo { deprecated("Use libmambapy.load_subdir_in_database instead", "2.0"); return extract(load_subdir_in_database(context, db, self)); diff --git a/libmambapy/src/libmambapy/bindings/solver.cpp b/libmambapy/src/libmambapy/bindings/solver.cpp index 7e7176dd30..bae85ed6e9 100644 --- a/libmambapy/src/libmambapy/bindings/solver.cpp +++ b/libmambapy/src/libmambapy/bindings/solver.cpp @@ -8,6 +8,7 @@ #include #include "mamba/solver/problems_graph.hpp" +#include "mamba/solver/repo_info.hpp" #include "mamba/solver/request.hpp" #include "mamba/solver/solution.hpp" @@ -507,5 +508,15 @@ namespace mambapy } ) .def("tree_message", &problem_tree_msg, py::arg("format") = ProblemsMessageFormat()); + + py::class_(m, "RepoInfo") + .def_property_readonly("id", &RepoInfo::id) + .def_property_readonly("name", &RepoInfo::name) + .def_property_readonly("priority", &RepoInfo::priority) + .def("package_count", &RepoInfo::package_count) + .def(py::self == py::self) + .def(py::self != py::self) + .def("__copy__", ©) + .def("__deepcopy__", &deepcopy, py::arg("memo")); } } diff --git a/libmambapy/src/libmambapy/bindings/solver_libsolv.cpp b/libmambapy/src/libmambapy/bindings/solver_libsolv.cpp index 907faf41d8..a30c95dce9 100644 --- a/libmambapy/src/libmambapy/bindings/solver_libsolv.cpp +++ b/libmambapy/src/libmambapy/bindings/solver_libsolv.cpp @@ -106,16 +106,6 @@ namespace mambapy .def("__copy__", ©) .def("__deepcopy__", &deepcopy, py::arg("memo")); - py::class_(m, "RepoInfo") - .def_property_readonly("id", &RepoInfo::id) - .def_property_readonly("name", &RepoInfo::name) - .def_property_readonly("priority", &RepoInfo::priority) - .def("package_count", &RepoInfo::package_count) - .def(py::self == py::self) - .def(py::self != py::self) - .def("__copy__", ©) - .def("__deepcopy__", &deepcopy, py::arg("memo")); - py::class_(m, "Database") .def(py::init(), py::arg("channel_params")) .def("set_logger", &Database::set_logger, py::call_guard()) @@ -169,7 +159,7 @@ namespace mambapy .def("package_count", &Database::package_count) .def( "packages_in_repo", - [](const Database& db, RepoInfo repo) + [](const Database& db, solver::RepoInfo repo) { // TODO(C++20): When Database function are refactored to use range, take the // opportunity here to make a Python iterator to avoid large alloc.