Skip to content

Commit 193801e

Browse files
committed
bugfixes for string vs bytestring
1 parent 5409942 commit 193801e

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

ema_workbench/connectors/vensimDLLwrapper.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ def get_data(filename, variable_name, tname="Time"):
180180
return_val = vensim.vensim_get_data(filename, varname, tname, vval, tval, maxn)
181181

182182
if return_val == 0:
183-
raise VensimWarning("variable " + variable_name + " not found in dataset")
183+
raise VensimWarning(f"variable {variable_name} not found in dataset")
184184

185185
vval = (ctypes.c_float * int(return_val))()
186186
tval = (ctypes.c_float * int(return_val))()
@@ -237,8 +237,8 @@ def get_info(infowanted):
237237

238238
result = repr(buf.raw)
239239
result = result.strip()
240-
result = result.rstrip("'")
241-
result = result.lstrip("'")
240+
result = result.rstrip(b"'")
241+
result = result.lstrip(b"'")
242242
result = result.split(r"\x00")
243243
result = result[0:-2]
244244
return result
@@ -318,28 +318,28 @@ def get_varattrib(varname, attribute):
318318
====== =============
319319
320320
"""
321-
buf = ctypes.create_string_buffer("", 10)
321+
buf = ctypes.create_string_buffer(b"", 10)
322322
maxBuf = ctypes.c_int(10)
323323

324324
bufferlength = vensim.vensim_get_varattrib(varname.encode("utf-8"), attribute, buf, maxBuf)
325325
if bufferlength == -1:
326-
raise VensimWarning("variable not found")
326+
raise VensimWarning(f"variable {varname} not found")
327327

328-
buf = ctypes.create_string_buffer("", int(bufferlength))
328+
buf = ctypes.create_string_buffer(b"", int(bufferlength))
329329
maxBuf = ctypes.c_int(int(bufferlength))
330330
vensim.vensim_get_varattrib(varname.encode("utf-8"), attribute, buf, maxBuf)
331331

332332
result = repr(buf.raw)
333333
result = result.strip()
334-
result = result.rstrip("'")
335-
result = result.lstrip("'")
334+
result = result.rstrip(b"'")
335+
result = result.lstrip(b"'")
336336
result = result.split(r"\x00")
337337
result = [varname for varname in result if len(varname) != 0]
338338

339339
return result
340340

341341

342-
def get_varnames(filter="*", vartype=0): # @ReservedAssignment
342+
def get_varnames(filter=b"*", vartype=0): # @ReservedAssignment
343343
r"""
344344
This function returns variable names in the model a filter can be specified
345345
in the same way as Vensim variable Selection filter (use * for all),
@@ -383,18 +383,18 @@ def get_varnames(filter="*", vartype=0): # @ReservedAssignment
383383

384384
filter = ctypes.c_char_p(filter) # @ReservedAssignment
385385
vartype = ctypes.c_int(vartype)
386-
buf = ctypes.create_string_buffer("", 512)
386+
buf = ctypes.create_string_buffer(b"", 512)
387387
maxBuf = ctypes.c_int(512)
388388

389389
a = vensim.vensim_get_varnames(filter, vartype, buf, maxBuf)
390-
buf = ctypes.create_string_buffer("", int(a))
390+
buf = ctypes.create_string_buffer(b"", int(a))
391391
maxBuf = ctypes.c_int(int(a))
392392
vensim.vensim_get_varnames(filter, vartype, buf, maxBuf)
393393

394394
varnames = repr(buf.raw)
395395
varnames = varnames.strip()
396-
varnames = varnames.rstrip("'")
397-
varnames = varnames.lstrip("'")
396+
varnames = varnames.rstrip(b"'")
397+
varnames = varnames.lstrip(b"'")
398398
varnames = varnames.split(r"\x00")
399399
varnames = [varname for varname in varnames if len(varname) != 0]
400400

0 commit comments

Comments
 (0)