From ab383c1df610c2804cf78d74b356a353ec35ac4f Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 23 Jan 2016 17:13:22 +0100 Subject: [PATCH] py3: ported Raytracing to python3 --- src/Mod/Raytracing/App/AppRaytracing.cpp | 8 +++++--- src/Mod/Raytracing/App/AppRaytracingPy.cpp | 2 ++ src/Mod/Raytracing/Gui/AppRaytracingGui.cpp | 10 ++++++---- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/Mod/Raytracing/App/AppRaytracing.cpp b/src/Mod/Raytracing/App/AppRaytracing.cpp index db669ec9a5..d453e9fce6 100644 --- a/src/Mod/Raytracing/App/AppRaytracing.cpp +++ b/src/Mod/Raytracing/App/AppRaytracing.cpp @@ -27,6 +27,7 @@ #endif #include +#include #include #include "RayFeature.h" @@ -40,7 +41,7 @@ namespace Raytracing { } -PyMODINIT_FUNC initRaytracing() +PyMOD_INIT_FUNC(Raytracing) { // load dependent module try { @@ -48,7 +49,7 @@ PyMODINIT_FUNC initRaytracing() } catch(const Base::Exception& e) { PyErr_SetString(PyExc_ImportError, e.what()); - return; + PyMOD_Return(0); } Raytracing::RaySegment ::init(); @@ -58,6 +59,7 @@ PyMODINIT_FUNC initRaytracing() Raytracing::LuxProject ::init(); - (void) Raytracing::initModule(); + PyObject* mod = Raytracing::initModule(); Base::Console().Log("Loading Raytracing module... done\n"); + PyMOD_Return(mod); } diff --git a/src/Mod/Raytracing/App/AppRaytracingPy.cpp b/src/Mod/Raytracing/App/AppRaytracingPy.cpp index 0b8fa83d37..03218f1366 100644 --- a/src/Mod/Raytracing/App/AppRaytracingPy.cpp +++ b/src/Mod/Raytracing/App/AppRaytracingPy.cpp @@ -201,8 +201,10 @@ private: vecs[i][l] = PyFloat_AsDouble(temp); else if (PyLong_Check(temp)) vecs[i][l] = (double) PyLong_AsLong(temp); +#if PY_MAJOR_VERSION < 3 else if (PyInt_Check(temp)) vecs[i][l] = (double) PyInt_AsLong(temp); +#endif else throw Py::ValueError("Wrong parameter format, four Tuple of three floats needed!"); } diff --git a/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp b/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp index 5254dc73dd..6a0cf2ddc9 100644 --- a/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp +++ b/src/Mod/Raytracing/Gui/AppRaytracingGui.cpp @@ -51,11 +51,11 @@ namespace RaytracingGui { } -PyMODINIT_FUNC initRaytracingGui() +PyMOD_INIT_FUNC(RaytracingGui) { if (!Gui::Application::Instance) { PyErr_SetString(PyExc_ImportError, "Cannot load Gui module in console application."); - return; + PyMOD_Return(0); } try { @@ -63,9 +63,9 @@ PyMODINIT_FUNC initRaytracingGui() } catch(const Base::Exception& e) { PyErr_SetString(PyExc_ImportError, e.what()); - return; + PyMOD_Return(0); } - (void) RaytracingGui::initModule(); + PyObject* mod = RaytracingGui::initModule(); Base::Console().Log("Loading GUI of Raytracing module... done\n"); // instantiating the commands @@ -79,4 +79,6 @@ PyMODINIT_FUNC initRaytracingGui() // add resources and reloads the translators loadRaytracingResource(); + + PyMOD_Return(mod); }