File tree Expand file tree Collapse file tree 7 files changed +16
-13
lines changed Expand file tree Collapse file tree 7 files changed +16
-13
lines changed Original file line number Diff line number Diff line change @@ -69,11 +69,14 @@ def __init__(self, api_util):
6969 lowercase_map = {a .lower (): a for a in cls ._dss_original_attributes }
7070 cls ._dss_attributes = lowercase_map
7171
72- def CheckForError (self ):
72+ def CheckForError (self , result = None ):
73+ '''Checks for an OpenDSS error. Raises an exception if any, otherwise returns the `result` parameter.'''
7374 if self ._errorPtr [0 ]:
7475 error_num = self ._errorPtr [0 ]
7576 self ._errorPtr [0 ] = 0
7677 raise DssException (error_num , self ._get_string (self ._lib .Error_Get_Description ()))
78+
79+ return result
7780
7881 def _getattr (self , key ):
7982 if key .startswith ('_' ):
Original file line number Diff line number Diff line change @@ -208,7 +208,7 @@ def SetActiveBus(self, BusName):
208208 if type (BusName ) is not bytes :
209209 BusName = BusName .encode (self ._api_util .codec )
210210
211- return self ._lib .Circuit_SetActiveBus (BusName )
211+ return self .CheckForError ( self . _lib .Circuit_SetActiveBus (BusName ) )
212212
213213 def SetActiveBusi (self , BusIndex ):
214214 return self ._lib .Circuit_SetActiveBusi (BusIndex )
@@ -217,13 +217,13 @@ def SetActiveClass(self, ClassName):
217217 if type (ClassName ) is not bytes :
218218 ClassName = ClassName .encode (self ._api_util .codec )
219219
220- return self ._lib .Circuit_SetActiveClass (ClassName )
220+ return self .CheckForError ( self . _lib .Circuit_SetActiveClass (ClassName ) )
221221
222222 def SetActiveElement (self , FullName ):
223223 if type (FullName ) is not bytes :
224224 FullName = FullName .encode (self ._api_util .codec )
225225
226- return self ._lib .Circuit_SetActiveElement (FullName )
226+ return self .CheckForError ( self . _lib .Circuit_SetActiveElement (FullName ) )
227227
228228 def UpdateStorage (self ):
229229 self ._lib .Circuit_UpdateStorage ()
Original file line number Diff line number Diff line change @@ -298,8 +298,8 @@ def __getitem__(self, index):
298298 index = index .encode (self ._api_util .codec )
299299
300300 self ._lib .Circuit_SetCktElementName (index )
301-
302- return self
301+
302+ return self . CheckForError ( self )
303303
304304 def __call__ (self , index ):
305305 return self .__getitem__ (index )
Original file line number Diff line number Diff line change @@ -205,7 +205,7 @@ def SetActiveBus(self, BusName):
205205 if type (BusName ) is not bytes :
206206 BusName = BusName .encode (self ._api_util .codec )
207207
208- return self ._lib .Circuit_SetActiveBus (BusName )
208+ return self .CheckForError ( self . _lib .Circuit_SetActiveBus (BusName ) )
209209
210210 def SetActiveBusi (self , BusIndex ):
211211 return self ._lib .Circuit_SetActiveBusi (BusIndex )
@@ -214,13 +214,13 @@ def SetActiveClass(self, ClassName):
214214 if type (ClassName ) is not bytes :
215215 ClassName = ClassName .encode (self ._api_util .codec )
216216
217- return self ._lib .Circuit_SetActiveClass (ClassName )
217+ return self .CheckForError ( self . _lib .Circuit_SetActiveClass (ClassName ) )
218218
219219 def SetActiveElement (self , FullName ):
220220 if type (FullName ) is not bytes :
221221 FullName = FullName .encode (self ._api_util .codec )
222222
223- return self ._lib .Circuit_SetActiveElement (FullName )
223+ return self .CheckForError ( self . _lib .Circuit_SetActiveElement (FullName ) )
224224
225225 def UpdateStorage (self ):
226226 self ._lib .Circuit_UpdateStorage ()
Original file line number Diff line number Diff line change @@ -282,8 +282,8 @@ def __getitem__(self, index):
282282 index = index .encode (self ._api_util .codec )
283283
284284 self ._lib .Circuit_SetCktElementName (index )
285-
286- return self
285+
286+ return self . CheckForError ( self )
287287
288288 def __call__ (self , index ):
289289 return self .__getitem__ (index )
Original file line number Diff line number Diff line change 44'''
55from __future__ import absolute_import
66from ._dss_capi_v7 import ffi , lib
7- from ._cffi_api_util import CffiApiUtil , use_com_compat
7+ from ._cffi_api_util import CffiApiUtil , use_com_compat , DssException
88from . import dss_capi_gr , dss_capi_ir , enums
99from .enums import *
1010
Original file line number Diff line number Diff line change 44'''
55from __future__ import absolute_import
66from ._dss_capi_v8 import ffi , lib
7- from ._cffi_api_util import CffiApiUtil , use_com_compat
7+ from ._cffi_api_util import CffiApiUtil , use_com_compat , DssException
88from . import dss_capi_gr , dss_capi_ir , enums
99from .enums import *
1010
You can’t perform that action at this time.
0 commit comments