@@ -38,7 +38,7 @@ def load_entities(entities, *sources, **kwargs):
38
38
for n in ENTITIES :
39
39
n = n .lower ()
40
40
for m in kwargs .get ("select" , {}).get (n , ["" ]):
41
- m = "../base/{}s/" . format ( n ) + m + [".py" , "" ][m == "" ]
41
+ m = f "../base/{ n } s/" + m + [".py" , "" ][m == "" ]
42
42
p = Path (__file__ ).parent .joinpath (m ).resolve ()
43
43
if p .exists ():
44
44
sources .insert (0 , p )
@@ -292,7 +292,7 @@ def _execv(value):
292
292
if check_key :
293
293
for ssk , ssv in sv .items ():
294
294
if ssk not in cs .keys () or cs [ssk ] != ssv :
295
- _tmp .append ("{ }={}" . format ( sk , sv ) )
295
+ _tmp .append (f" { sk } ={ sv } " )
296
296
break
297
297
# case 2: {None: ...}
298
298
else :
@@ -307,7 +307,7 @@ def _execv(value):
307
307
if ref is not None and ref in values [1 :]:
308
308
found = True
309
309
if not found :
310
- _tmp .append ("{ }?{}" . format ( sk , ref ) )
310
+ _tmp .append (f" { sk } ?{ ref } " )
311
311
elif is_dict (ssv ):
312
312
# e.g. {monitor:True}
313
313
found = False
@@ -321,15 +321,15 @@ def _execv(value):
321
321
found = True
322
322
break
323
323
if not found :
324
- v = ["{ }:{}" . format ( sssk , sssv ) , sssv ][sssv is None ]
325
- _tmp .append ("{ }?{}" . format ( sk , v ) )
324
+ v = [f" { sssk } :{ sssv } " , sssv ][sssv is None ]
325
+ _tmp .append (f" { sk } ?{ v } " )
326
326
elif ssv not in cs .values ():
327
- _tmp .append ("{ }?{}" . format ( sk , ssv ) )
327
+ _tmp .append (f" { sk } ?{ ssv } " )
328
328
break
329
329
# exact match between any other type than dict
330
330
else :
331
331
if sv != Console ._state [sk ]:
332
- _tmp .append ("{ }={}" . format ( sk , sv ) )
332
+ _tmp .append (f" { sk } ={ sv } " )
333
333
if len (_tmp ) > 0 :
334
334
errors .setdefault ("state" , [])
335
335
errors ['state' ].extend (_tmp )
@@ -356,7 +356,7 @@ def _execv(value):
356
356
errors ["packages" ].append ((package , not_ ))
357
357
cls ._enabled = False
358
358
else :
359
- raise ValueError ("Unknown requirements type '{}'" . format ( k ) )
359
+ raise ValueError (f "Unknown requirements type '{ k } '" )
360
360
cls ._errors = errors
361
361
# check for applicability
362
362
cls ._applicable = True
@@ -442,21 +442,21 @@ def msg(scname, key, item):
442
442
if m is not None :
443
443
return m .format (item )
444
444
if key == "file" :
445
- return "'{}' {}found" . format ( item , not_s )
445
+ return f "'{ item } ' { not_s } found"
446
446
elif key == "packages" :
447
- return "'{}' system package is {}installed" . format ( item , not_s )
447
+ return f "'{ item } ' system package is { not_s } installed"
448
448
elif key == "python" :
449
- return "'{}' Python package is {}installed" . format ( item , not_s )
449
+ return f "'{ item } ' Python package is { not_s } installed"
450
450
elif key == "tools" :
451
- return "'{}' tool is {}installed" . format ( item , not_s )
451
+ return f "'{ item } ' tool is { not_s } installed"
452
452
elif key == "state" :
453
453
item = re .split (r"(\=|\?)" , item , 1 )
454
454
if len (item ) == 1 :
455
- return "'{}' state key is not defined" . format ( item [ 0 ])
455
+ return f "'{ item [ 0 ] } ' state key is not defined"
456
456
elif item [1 ] == "=" :
457
- return "'{}' state key does not match the expected value '{}'" . format ( item [0 ], item [ 2 ])
457
+ return f "'{ item [ 0 ] } ' state key does not match the expected value '{ item [2 ] } '"
458
458
elif item [1 ] == "?" :
459
- return "'{}' state key is expected to have value '{}' at least once" . format ( item [ 0 ], item [ 2 ])
459
+ return f "'{ item [ 0 ] } ' state key is expected to have value '{ item [ 2 ] } ' at least once"
460
460
# list issues using the related class method
461
461
t = "\n "
462
462
d = OrderedDict ()
@@ -473,7 +473,7 @@ def msg(scname, key, item):
473
473
for cname , scnames in names .items ():
474
474
scnames = list (set (scnames ))
475
475
cname += ["" , "s" ][len (scnames ) > 1 ]
476
- t += "{ }: {} \n " . format ( cname , ", " .join (sorted (scnames )))
476
+ t += f" { cname } : { ', ' .join (sorted (scnames ))} \n "
477
477
# exception to issue messages: 'config' requirement
478
478
t += "- " + "\n - " .join (msg (scname , k , e ) for k , err in errors .items () for e in err if k != "config" ) + "\n "
479
479
return "" if t .strip () == "" else t
@@ -540,7 +540,7 @@ def register_subclass(cls, subcls):
540
540
# manually get subclass' name because of MetaModel not having the "name" property (would be considered a
541
541
# Peewee database field)
542
542
n = re .sub (r'([a-z0-9])([A-Z])' , r'\1_\2' , re .sub (r'(.)([A-Z][a-z]+)' , r'\1_\2' , subcls .__name__ )).lower ()
543
- logger .detail ("Registered {} '{}'" . format ( subcls . entity , n ) )
543
+ logger .detail (f "Registered { subcls . entity } '{ n } '" )
544
544
545
545
@classmethod
546
546
def unregister_subclass (cls , subcls ):
@@ -551,7 +551,7 @@ def unregister_subclass(cls, subcls):
551
551
if cls in Entity ._subclasses .keys ():
552
552
try :
553
553
Entity ._subclasses [cls ].remove (subcls )
554
- logger .detail ("Unregistered {} '{}'" . format ( subcls . entity , n ) )
554
+ logger .detail (f "Unregistered { subcls . entity } '{ n } '" )
555
555
except ValueError :
556
556
pass
557
557
@@ -563,7 +563,7 @@ def unregister_subclasses(cls, *subclss):
563
563
564
564
def run (self , * args , ** kwargs ):
565
565
""" Generic method for running Entity's logic. """
566
- raise NotImplementedError ("{ }'s run() method is not implemented". format ( self . __class__ . __name__ ) )
566
+ raise NotImplementedError (f" { self . __class__ . __name__ } 's run() method is not implemented" )
567
567
568
568
569
569
class MetaEntityBase (type ):
0 commit comments