Skip to content

Commit f67d393

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 1246d47 commit f67d393

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
@@ -137,17 +137,17 @@ def ask(self, question, opt=None, parsed=True):
137137
return self.omc_cache[p]
138138

139139
if opt:
140-
expression = '{0}({1})'.format(question, opt)
140+
expression = f'{question}({opt})'
141141
else:
142142
expression = question
143143

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

146146
try:
147147
res = self.sendExpression(expression, parsed=parsed)
148-
except Exception as e:
149-
logger.error("OMC failed: {0}, {1}, parsed={2}".format(question, opt, parsed))
150-
raise e
148+
except Exception:
149+
logger.error("OMC failed: %s, %s, parsed=%s", question, opt, parsed)
150+
raise
151151

152152
# save response
153153
self.omc_cache[p] = res
@@ -156,7 +156,7 @@ def ask(self, question, opt=None, parsed=True):
156156

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

161161
def loadModel(self, className):
162162
return self.ask('loadModel', className)
@@ -207,7 +207,7 @@ def getDerivedClassModifierNames(self, className):
207207
return self.ask('getDerivedClassModifierNames', className)
208208

209209
def getDerivedClassModifierValue(self, className, modifierName):
210-
return self.ask('getDerivedClassModifierValue', '{0}, {1}'.format(className, modifierName))
210+
return self.ask('getDerivedClassModifierValue', f'{className}, {modifierName}')
211211

212212
def typeNameStrings(self, className):
213213
return self.ask('typeNameStrings', className)
@@ -219,87 +219,87 @@ def getClassComment(self, className):
219219
try:
220220
return self.ask('getClassComment', className)
221221
except pyparsing.ParseException as ex:
222-
logger.warning("Method 'getClassComment' failed for {0}".format(className))
223-
logger.warning('OMTypedParser error: {0}'.format(ex.message))
222+
logger.warning("Method 'getClassComment' failed for %s", className)
223+
logger.warning('OMTypedParser error: %s', ex.message)
224224
return 'No description available'
225225

226226
def getNthComponent(self, className, comp_id):
227227
""" returns with (type, name, description) """
228-
return self.ask('getNthComponent', '{0}, {1}'.format(className, comp_id))
228+
return self.ask('getNthComponent', f'{className}, {comp_id}')
229229

230230
def getNthComponentAnnotation(self, className, comp_id):
231-
return self.ask('getNthComponentAnnotation', '{0}, {1}'.format(className, comp_id))
231+
return self.ask('getNthComponentAnnotation', f'{className}, {comp_id}')
232232

233233
def getImportCount(self, className):
234234
return self.ask('getImportCount', className)
235235

236236
def getNthImport(self, className, importNumber):
237237
# [Path, id, kind]
238-
return self.ask('getNthImport', '{0}, {1}'.format(className, importNumber))
238+
return self.ask('getNthImport', f'{className}, {importNumber}')
239239

240240
def getInheritanceCount(self, className):
241241
return self.ask('getInheritanceCount', className)
242242

243243
def getNthInheritedClass(self, className, inheritanceDepth):
244-
return self.ask('getNthInheritedClass', '{0}, {1}'.format(className, inheritanceDepth))
244+
return self.ask('getNthInheritedClass', f'{className}, {inheritanceDepth}')
245245

246246
def getParameterNames(self, className):
247247
try:
248248
return self.ask('getParameterNames', className)
249249
except KeyError as ex:
250-
logger.warning('OMPython error: {0}'.format(ex))
250+
logger.warning('OMPython error: %s', ex)
251251
# FIXME: OMC returns with a different structure for empty parameter set
252252
return []
253253

254254
def getParameterValue(self, className, parameterName):
255255
try:
256-
return self.ask('getParameterValue', '{0}, {1}'.format(className, parameterName))
256+
return self.ask('getParameterValue', f'{className}, {parameterName}')
257257
except pyparsing.ParseException as ex:
258-
logger.warning('OMTypedParser error: {0}'.format(ex.message))
258+
logger.warning('OMTypedParser error: %s', ex.message)
259259
return ""
260260

261261
def getComponentModifierNames(self, className, componentName):
262-
return self.ask('getComponentModifierNames', '{0}, {1}'.format(className, componentName))
262+
return self.ask('getComponentModifierNames', f'{className}, {componentName}')
263263

264264
def getComponentModifierValue(self, className, componentName):
265265
try:
266266
# FIXME: OMPython exception UnboundLocalError exception for 'Modelica.Fluid.Machines.ControlledPump'
267-
return self.ask('getComponentModifierValue', '{0}, {1}'.format(className, componentName))
267+
return self.ask('getComponentModifierValue', f'{className}, {componentName}')
268268
except pyparsing.ParseException as ex:
269-
logger.warning('OMTypedParser error: {0}'.format(ex.message))
270-
result = self.ask('getComponentModifierValue', '{0}, {1}'.format(className, componentName), parsed=False)
269+
logger.warning('OMTypedParser error: %s', ex.message)
270+
result = self.ask('getComponentModifierValue', f'{className}, {componentName}', parsed=False)
271271
try:
272272
answer = OMParser.check_for_values(result)
273273
OMParser.result = {}
274274
return answer[2:]
275275
except (TypeError, UnboundLocalError) as ex:
276-
logger.warning('OMParser error: {0}'.format(ex))
276+
logger.warning('OMParser error: %s', ex)
277277
return result
278278

279279
def getExtendsModifierNames(self, className, componentName):
280-
return self.ask('getExtendsModifierNames', '{0}, {1}'.format(className, componentName))
280+
return self.ask('getExtendsModifierNames', f'{className}, {componentName}')
281281

282282
def getExtendsModifierValue(self, className, extendsName, modifierName):
283283
try:
284284
# FIXME: OMPython exception UnboundLocalError exception for 'Modelica.Fluid.Machines.ControlledPump'
285-
return self.ask('getExtendsModifierValue', '{0}, {1}, {2}'.format(className, extendsName, modifierName))
285+
return self.ask('getExtendsModifierValue', f'{className}, {extendsName}, {modifierName}')
286286
except pyparsing.ParseException as ex:
287-
logger.warning('OMTypedParser error: {0}'.format(ex.message))
288-
result = self.ask('getExtendsModifierValue', '{0}, {1}, {2}'.format(className, extendsName, modifierName), parsed=False)
287+
logger.warning('OMTypedParser error: %s', ex.message)
288+
result = self.ask('getExtendsModifierValue', f'{className}, {extendsName}, {modifierName}', parsed=False)
289289
try:
290290
answer = OMParser.check_for_values(result)
291291
OMParser.result = {}
292292
return answer[2:]
293293
except (TypeError, UnboundLocalError) as ex:
294-
logger.warning('OMParser error: {0}'.format(ex))
294+
logger.warning('OMParser error: %s', ex)
295295
return result
296296

297297
def getNthComponentModification(self, className, comp_id):
298298
# FIXME: OMPython exception Results KeyError exception
299299

300300
# get {$Code(....)} field
301301
# \{\$Code\((\S*\s*)*\)\}
302-
value = self.ask('getNthComponentModification', '{0}, {1}'.format(className, comp_id), parsed=False)
302+
value = self.ask('getNthComponentModification', f'{className}, {comp_id}', parsed=False)
303303
value = value.replace("{$Code(", "")
304304
return value[:-3]
305305
# return self.re_Code.findall(value)
@@ -315,16 +315,15 @@ def getNthComponentModification(self, className, comp_id):
315315
# end getClassNames;
316316
def getClassNames(self, className=None, recursive=False, qualified=False, sort=False, builtin=False,
317317
showProtected=False):
318-
if className:
319-
value = self.ask('getClassNames',
320-
'{0}, recursive={1}, qualified={2}, sort={3}, builtin={4}, showProtected={5}'.format(
321-
className, str(recursive).lower(), str(qualified).lower(), str(sort).lower(),
322-
str(builtin).lower(), str(showProtected).lower()))
323-
else:
324-
value = self.ask('getClassNames',
325-
'recursive={0}, qualified={1}, sort={2}, builtin={3}, showProtected={4}'.format(
326-
str(recursive).lower(), str(qualified).lower(), str(sort).lower(),
327-
str(builtin).lower(), str(showProtected).lower()))
318+
value = self.ask(
319+
'getClassNames',
320+
(f'{className}, ' if className else '') +
321+
f'recursive={str(recursive).lower()}, '
322+
f'qualified={str(qualified).lower()}, '
323+
f'sort={str(sort).lower()}, '
324+
f'builtin={str(builtin).lower()}, '
325+
f'showProtected={str(showProtected).lower()}'
326+
)
328327
return value
329328

330329

0 commit comments

Comments
 (0)