From 74c79f9ab83a1d3bebecbfdfed56227be46d44ff Mon Sep 17 00:00:00 2001 From: Michael De Caria Date: Fri, 26 Sep 2025 16:01:30 +1000 Subject: [PATCH 1/2] Expose setStringVar to Python Bindings Context Object Signed-off-by: Michael De Caria --- src/bindings/python/PyContext.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bindings/python/PyContext.cpp b/src/bindings/python/PyContext.cpp index 132f52a718..1456ef35a7 100644 --- a/src/bindings/python/PyContext.cpp +++ b/src/bindings/python/PyContext.cpp @@ -168,6 +168,8 @@ void bindPyContext(py::module & m) { return StringVarIterator(self); }) + .def("setStringVar", &Context::setStringVar, "name"_a, "value"_a, + DOC(Context, setStringVar)) .def("clearStringVars", &Context::clearStringVars, DOC(Context, clearStringVars)) .def("getEnvironmentMode", &Context::getEnvironmentMode, From 848f1b29a2663c0eeef73a85fd827b59cf61fab4 Mon Sep 17 00:00:00 2001 From: Michael De Caria Date: Fri, 26 Sep 2025 16:14:31 +1000 Subject: [PATCH 2/2] Add setStringVar to Python Context Test Signed-off-by: Michael De Caria --- tests/python/ContextTest.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/python/ContextTest.py b/tests/python/ContextTest.py index 5cfc847fd8..2aaf95944c 100644 --- a/tests/python/ContextTest.py +++ b/tests/python/ContextTest.py @@ -47,6 +47,8 @@ def test_interface(self): cont['TEST1'] = 'foobar' self.assertEqual(len(cont), 2) self.assertEqual('/foo/foobar/bar', cont.resolveStringVar('/foo/${TEST1}/bar')) + cont.setStringVar('foo', 'bar') + self.assertEqual(len(cont), 3) cont.clearStringVars() self.assertEqual(len(cont), 0) self.assertEqual(OCIO.ENV_ENVIRONMENT_LOAD_PREDEFINED, cont.getEnvironmentMode())