Skip to content

Commit 6a2b7b7

Browse files
author
Dilawar Singh
committed
Couple of seg-faults to take care of.
1 parent 8a90db2 commit 6a2b7b7

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

python/moose/moose.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import pydoc
1010
import io
1111
import time
12-
import copy as _copy
1312
import moose
1413
import moose._cmoose as _cmoose
1514

@@ -58,6 +57,8 @@ def about():
5857

5958
def connect(src, srcfield, dest, destfield, msgtype="Single"):
6059
# FIXME: Move to pymoose.cpp
60+
if isinstance(dest, str):
61+
dest = _cmoose.objid(dest)
6162
return src.connect(srcfield, dest, destfield, msgtype)
6263

6364
def element(path):
@@ -172,7 +173,7 @@ def showfield(el, field='*', showtype=False):
172173
if isinstance(el, str):
173174
if not _cmoose.exists(el):
174175
raise ValueError('no such element: %s' % el)
175-
el = _cmoose.element(el)
176+
el = element(el)
176177
result = []
177178
if field == '*':
178179
value_field_dict = _cmoose.getFieldDict(el.className, 'valueFinfo')
@@ -236,7 +237,7 @@ def listmsg(el):
236237
connections of `el`.
237238
238239
"""
239-
obj = _cmoose.element(el)
240+
obj = element(el)
240241
ret = []
241242
for msg in obj.msgIn:
242243
ret.append(msg)
@@ -258,7 +259,7 @@ def showmsg(el):
258259
None
259260
260261
"""
261-
obj = _cmoose.element(el)
262+
obj = element(el)
262263
print('INCOMING:')
263264
for msg in obj.msgIn:
264265
print(msg.e2.path, msg.destFieldsOnE2, '<---', msg.e1.path,
@@ -326,13 +327,13 @@ def getFieldDoc(tokens, indent=''):
326327
def _appendFinfoDocs(classname, docstring, indent):
327328
"""Append list of finfos in class name to docstring"""
328329
try:
329-
classElem = _cmoose.element('/classes/%s' % (classname))
330+
classElem = element('/classes/%s' % (classname))
330331
except ValueError:
331332
raise NameError('class \'%s\' not defined.' % (classname))
332333
for ftype, rname in finfotypes:
333334
docstring.write(u'\n*%s*\n' % (rname.capitalize()))
334335
try:
335-
finfo = _cmoose.element('%s/%s' % (classElem.path, ftype))
336+
finfo = element('%s/%s' % (classElem.path, ftype))
336337
for field in finfo.vec:
337338
docstring.write(u'%s%s: %s\n' %
338339
(indent, field.fieldName, field.type))
@@ -350,7 +351,7 @@ def _getMooseDoc(tokens, inherited=False):
350351
if not tokens:
351352
return ""
352353
try:
353-
classElem = _cmoose.element('/classes/%s' % (tokens[0]))
354+
classElem = element('/classes/%s' % (tokens[0]))
354355
except ValueError:
355356
raise NameError("Name '%s' not defined." % (tokens[0]))
356357

0 commit comments

Comments
 (0)