From 658ce5d73bdf57db310ade00901d07e6f945d121 Mon Sep 17 00:00:00 2001 From: Ray Speth Date: Wed, 6 May 2015 14:17:24 -0400 Subject: [PATCH] [Python] Return 'None' if thermo or transport are undefined --- interfaces/cython/cantera/test/test_thermo.py | 3 +++ interfaces/cython/cantera/thermo.pyx | 14 ++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/interfaces/cython/cantera/test/test_thermo.py b/interfaces/cython/cantera/test/test_thermo.py index d0d12a392..023df57b7 100644 --- a/interfaces/cython/cantera/test/test_thermo.py +++ b/interfaces/cython/cantera/test/test_thermo.py @@ -682,6 +682,9 @@ class TestSpecies(utilities.CanteraTest): self.assertEqual(s.size, 1.0) self.assertEqual(s.charge, 0.0) + self.assertIsNone(s.thermo) + self.assertIsNone(s.transport) + def test_index_accessor(self): for k in range(self.gas.n_species): s = self.gas.species(k) diff --git a/interfaces/cython/cantera/thermo.pyx b/interfaces/cython/cantera/thermo.pyx index 5bd0363b8..7497ddba7 100644 --- a/interfaces/cython/cantera/thermo.pyx +++ b/interfaces/cython/cantera/thermo.pyx @@ -153,7 +153,10 @@ cdef class Species: of class `SpeciesThermo`. """ def __get__(self): - return wrapSpeciesThermo(self.species.thermo) + if self.species.thermo.get() != NULL: + return wrapSpeciesThermo(self.species.thermo) + else: + return None def __set__(self, SpeciesThermo spthermo): self.species.thermo = spthermo._spthermo @@ -164,9 +167,12 @@ cdef class Species: `GasTransportData`. """ def __get__(self): - data = GasTransportData(init=False) - data._assign(self.species.transport) - return data + if self.species.transport.get() != NULL: + data = GasTransportData(init=False) + data._assign(self.species.transport) + return data + else: + return None def __set__(self, GasTransportData tran): self.species.transport = tran._data