Skip to content

Commit b93e30e

Browse files
committed
Use f-strings in OMCSessionZMQ
... except for logging calls. It probably doesn't matter, but the built-in %-formatting does not run when logging is disabled, improving performance.
1 parent 572cb5c commit b93e30e

1 file changed

Lines changed: 36 additions & 37 deletions

File tree

OMPython/__init__.py

Lines changed: 36 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -324,20 +324,20 @@ def ask(self, question, opt=None, parsed=True):
324324
return self.omc_cache[p]
325325

326326
if opt:
327-
expression = '{0}({1})'.format(question, opt)
327+
expression = f'{question}({opt})'
328328
else:
329329
expression = question
330330

331-
logger.debug('OMC ask: {0} - parsed: {1}'.format(expression, parsed))
331+
logger.debug('OMC ask: %s - parsed: %s', expression, parsed)
332332

333333
try:
334334
if parsed:
335335
res = self.execute(expression)
336336
else:
337337
res = self.sendExpression(expression, parsed=False)
338-
except Exception as e:
339-
logger.error("OMC failed: {0}, {1}, parsed={2}".format(question, opt, parsed))
340-
raise e
338+
except Exception:
339+
logger.error("OMC failed: %s, %s, parsed=%s", question, opt, parsed)
340+
raise
341341

342342
# save response
343343
self.omc_cache[p] = res
@@ -346,7 +346,7 @@ def ask(self, question, opt=None, parsed=True):
346346

347347
# TODO: Open Modelica Compiler API functions. Would be nice to generate these.
348348
def loadFile(self, filename):
349-
return self.ask('loadFile', '"{0}"'.format(filename))
349+
return self.ask('loadFile', f'"{filename}"')
350350

351351
def loadModel(self, className):
352352
return self.ask('loadModel', className)
@@ -397,7 +397,7 @@ def getDerivedClassModifierNames(self, className):
397397
return self.ask('getDerivedClassModifierNames', className)
398398

399399
def getDerivedClassModifierValue(self, className, modifierName):
400-
return self.ask('getDerivedClassModifierValue', '{0}, {1}'.format(className, modifierName))
400+
return self.ask('getDerivedClassModifierValue', f'{className}, {modifierName}')
401401

402402
def typeNameStrings(self, className):
403403
return self.ask('typeNameStrings', className)
@@ -409,87 +409,87 @@ def getClassComment(self, className):
409409
try:
410410
return self.ask('getClassComment', className)
411411
except pyparsing.ParseException as ex:
412-
logger.warning("Method 'getClassComment' failed for {0}".format(className))
413-
logger.warning('OMTypedParser error: {0}'.format(ex.message))
412+
logger.warning("Method 'getClassComment' failed for %s", className)
413+
logger.warning('OMTypedParser error: %s', ex.message)
414414
return 'No description available'
415415

416416
def getNthComponent(self, className, comp_id):
417417
""" returns with (type, name, description) """
418-
return self.ask('getNthComponent', '{0}, {1}'.format(className, comp_id))
418+
return self.ask('getNthComponent', f'{className}, {comp_id}')
419419

420420
def getNthComponentAnnotation(self, className, comp_id):
421-
return self.ask('getNthComponentAnnotation', '{0}, {1}'.format(className, comp_id))
421+
return self.ask('getNthComponentAnnotation', f'{className}, {comp_id}')
422422

423423
def getImportCount(self, className):
424424
return self.ask('getImportCount', className)
425425

426426
def getNthImport(self, className, importNumber):
427427
# [Path, id, kind]
428-
return self.ask('getNthImport', '{0}, {1}'.format(className, importNumber))
428+
return self.ask('getNthImport', f'{className}, {importNumber}')
429429

430430
def getInheritanceCount(self, className):
431431
return self.ask('getInheritanceCount', className)
432432

433433
def getNthInheritedClass(self, className, inheritanceDepth):
434-
return self.ask('getNthInheritedClass', '{0}, {1}'.format(className, inheritanceDepth))
434+
return self.ask('getNthInheritedClass', f'{className}, {inheritanceDepth}')
435435

436436
def getParameterNames(self, className):
437437
try:
438438
return self.ask('getParameterNames', className)
439439
except KeyError as ex:
440-
logger.warning('OMPython error: {0}'.format(ex))
440+
logger.warning('OMPython error: %s', ex)
441441
# FIXME: OMC returns with a different structure for empty parameter set
442442
return []
443443

444444
def getParameterValue(self, className, parameterName):
445445
try:
446-
return self.ask('getParameterValue', '{0}, {1}'.format(className, parameterName))
446+
return self.ask('getParameterValue', f'{className}, {parameterName}')
447447
except pyparsing.ParseException as ex:
448-
logger.warning('OMTypedParser error: {0}'.format(ex.message))
448+
logger.warning('OMTypedParser error: %s', ex.message)
449449
return ""
450450

451451
def getComponentModifierNames(self, className, componentName):
452-
return self.ask('getComponentModifierNames', '{0}, {1}'.format(className, componentName))
452+
return self.ask('getComponentModifierNames', f'{className}, {componentName}')
453453

454454
def getComponentModifierValue(self, className, componentName):
455455
try:
456456
# FIXME: OMPython exception UnboundLocalError exception for 'Modelica.Fluid.Machines.ControlledPump'
457-
return self.ask('getComponentModifierValue', '{0}, {1}'.format(className, componentName))
457+
return self.ask('getComponentModifierValue', f'{className}, {componentName}')
458458
except pyparsing.ParseException as ex:
459-
logger.warning('OMTypedParser error: {0}'.format(ex.message))
460-
result = self.ask('getComponentModifierValue', '{0}, {1}'.format(className, componentName), parsed=False)
459+
logger.warning('OMTypedParser error: %s', ex.message)
460+
result = self.ask('getComponentModifierValue', f'{className}, {componentName}', parsed=False)
461461
try:
462462
answer = OMParser.check_for_values(result)
463463
OMParser.result = {}
464464
return answer[2:]
465465
except (TypeError, UnboundLocalError) as ex:
466-
logger.warning('OMParser error: {0}'.format(ex))
466+
logger.warning('OMParser error: %s', ex)
467467
return result
468468

469469
def getExtendsModifierNames(self, className, componentName):
470-
return self.ask('getExtendsModifierNames', '{0}, {1}'.format(className, componentName))
470+
return self.ask('getExtendsModifierNames', f'{className}, {componentName}')
471471

472472
def getExtendsModifierValue(self, className, extendsName, modifierName):
473473
try:
474474
# FIXME: OMPython exception UnboundLocalError exception for 'Modelica.Fluid.Machines.ControlledPump'
475-
return self.ask('getExtendsModifierValue', '{0}, {1}, {2}'.format(className, extendsName, modifierName))
475+
return self.ask('getExtendsModifierValue', f'{className}, {extendsName}, {modifierName}')
476476
except pyparsing.ParseException as ex:
477-
logger.warning('OMTypedParser error: {0}'.format(ex.message))
478-
result = self.ask('getExtendsModifierValue', '{0}, {1}, {2}'.format(className, extendsName, modifierName), parsed=False)
477+
logger.warning('OMTypedParser error: %s', ex.message)
478+
result = self.ask('getExtendsModifierValue', f'{className}, {extendsName}, {modifierName}', parsed=False)
479479
try:
480480
answer = OMParser.check_for_values(result)
481481
OMParser.result = {}
482482
return answer[2:]
483483
except (TypeError, UnboundLocalError) as ex:
484-
logger.warning('OMParser error: {0}'.format(ex))
484+
logger.warning('OMParser error: %s', ex)
485485
return result
486486

487487
def getNthComponentModification(self, className, comp_id):
488488
# FIXME: OMPython exception Results KeyError exception
489489

490490
# get {$Code(....)} field
491491
# \{\$Code\((\S*\s*)*\)\}
492-
value = self.ask('getNthComponentModification', '{0}, {1}'.format(className, comp_id), parsed=False)
492+
value = self.ask('getNthComponentModification', f'{className}, {comp_id}', parsed=False)
493493
value = value.replace("{$Code(", "")
494494
return value[:-3]
495495
# return self.re_Code.findall(value)
@@ -505,16 +505,15 @@ def getNthComponentModification(self, className, comp_id):
505505
# end getClassNames;
506506
def getClassNames(self, className=None, recursive=False, qualified=False, sort=False, builtin=False,
507507
showProtected=False):
508-
if className:
509-
value = self.ask('getClassNames',
510-
'{0}, recursive={1}, qualified={2}, sort={3}, builtin={4}, showProtected={5}'.format(
511-
className, str(recursive).lower(), str(qualified).lower(), str(sort).lower(),
512-
str(builtin).lower(), str(showProtected).lower()))
513-
else:
514-
value = self.ask('getClassNames',
515-
'recursive={0}, qualified={1}, sort={2}, builtin={3}, showProtected={4}'.format(
516-
str(recursive).lower(), str(qualified).lower(), str(sort).lower(),
517-
str(builtin).lower(), str(showProtected).lower()))
508+
value = self.ask(
509+
'getClassNames',
510+
(f'{className}, ' if className else '') +
511+
f'recursive={str(recursive).lower()}, '
512+
f'qualified={str(qualified).lower()}, '
513+
f'sort={str(sort).lower()}, '
514+
f'builtin={str(builtin).lower()}, '
515+
f'showProtected={str(showProtected).lower()}'
516+
)
518517
return value
519518

520519

0 commit comments

Comments
 (0)