From fb3778f91bb4317658e7914414993ecd2b27cc27 Mon Sep 17 00:00:00 2001 From: Kyle Schwarz Date: Thu, 20 Feb 2025 12:04:16 -0500 Subject: [PATCH] Bindings: Python: Rework disk bindings --- bindings/python/CMakeLists.txt | 2 +- bindings/python/icsneopy/disk/diskdriver.cpp | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/bindings/python/CMakeLists.txt b/bindings/python/CMakeLists.txt index bb5997c..4d9da1e 100644 --- a/bindings/python/CMakeLists.txt +++ b/bindings/python/CMakeLists.txt @@ -44,7 +44,7 @@ install(TARGETS icsneopy LIBRARY DESTINATION icsneopy) find_program(STUBGEN_EXE stubgen) if(STUBGEN_EXE) - add_custom_command(TARGET icsneopy POST_BUILD COMMAND stubgen -m icsneopy -o .) + add_custom_command(TARGET icsneopy POST_BUILD COMMAND stubgen -v -p icsneopy -o .) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/icsneopy.pyi py.typed DESTINATION icsneopy) endif() diff --git a/bindings/python/icsneopy/disk/diskdriver.cpp b/bindings/python/icsneopy/disk/diskdriver.cpp index 49169fb..d570ba0 100644 --- a/bindings/python/icsneopy/disk/diskdriver.cpp +++ b/bindings/python/icsneopy/disk/diskdriver.cpp @@ -6,8 +6,14 @@ namespace icsneo { +// binding namespace workaround to avoid submodules +struct DiskNamespace { + using Access = icsneo::Disk::Access; + using MemoryType = icsneo::Disk::MemoryType; +}; + void init_diskdriver(pybind11::module_& m) { - auto disk = m.def_submodule("disk"); + pybind11::class_ disk(m, "Disk"); pybind11::enum_(disk, "Access") .value("None", Disk::Access::None) .value("EntireCard", Disk::Access::EntireCard)