@@ -378,8 +378,8 @@ def reconstruct(tname, args):
378378 """
379379 try :
380380 constructor = globals ()[tname ]
381- except KeyError :
382- raise NameError (tname )
381+ except KeyError as exc :
382+ raise NameError (tname ) from exc
383383 return constructor (* args )
384384
385385
@@ -1327,7 +1327,7 @@ def set_data_categorical(self, var, values, transform=()):
13271327 SourceNameRole : ci
13281328 }
13291329 else :
1330- assert False , "invalid mapping: {!r}" . format ( tr .mapping )
1330+ assert False , f "invalid mapping: { tr .mapping } "
13311331 items .append (item )
13321332 elif var is not None :
13331333 items = [
@@ -1457,8 +1457,7 @@ def _remove_category(self):
14571457 # new level -> remove it
14581458 model .removeRow (index .row ())
14591459 else :
1460- assert False , "invalid state '{}' for {}" \
1461- .format (state , index .row ())
1460+ assert False , f"invalid state '{ state } ' for { index .row ()} "
14621461
14631462 def _add_category (self ):
14641463 """
@@ -1633,8 +1632,7 @@ def initStyleOption(self, option, index):
16331632 text = var .name
16341633 for tr in transform :
16351634 if isinstance (tr , Rename ):
1636- text = ("{} \N{RIGHTWARDS ARROW} {}"
1637- .format (var .name , tr .name ))
1635+ text = f"{ var .name } \N{RIGHTWARDS ARROW} { tr .name } "
16381636 for tr in transform :
16391637 if isinstance (tr , ReinterpretTransformTypes ):
16401638 text += f" (reinterpreted as " \
@@ -2075,21 +2073,21 @@ def __init__(self):
20752073 gui .rubber (self .buttonsArea )
20762074
20772075 bbox = gui .hBox (self .buttonsArea )
2078- breset_all = gui .button (
2076+ gui .button (
20792077 bbox , self , "Reset All" ,
20802078 objectName = "button-reset-all" ,
20812079 toolTip = "Reset all variables to their input state." ,
20822080 autoDefault = False ,
20832081 callback = self .reset_all
20842082 )
2085- breset = gui .button (
2083+ gui .button (
20862084 bbox , self , "Reset Selected" ,
20872085 objectName = "button-reset" ,
20882086 toolTip = "Rest selected variable to its input state." ,
20892087 autoDefault = False ,
20902088 callback = self .reset_selected
20912089 )
2092- bapply = gui .button (
2090+ gui .button (
20932091 bbox , self , "Apply" ,
20942092 objectName = "button-apply" ,
20952093 toolTip = "Apply changes and commit data on output." ,
@@ -2282,7 +2280,7 @@ def _restore_transform(self, var):
22822280 tr .append (reconstruct (* t ))
22832281 except (NameError , TypeError ) as err :
22842282 warnings .warn (
2285- "Failed to restore transform: {}, {!r}" . format ( t , err ) ,
2283+ f "Failed to restore transform: { t } , { err } " ,
22862284 UserWarning , stacklevel = 2
22872285 )
22882286 if tr :
@@ -2401,7 +2399,7 @@ def send_report(self):
24012399 parts .append (report_transform (vector .vtype , trs ))
24022400 if parts :
24032401 html = ("<ul>" +
2404- "" .join (map ( "<li>{}</li>" . format , parts ) ) +
2402+ "" .join (f "<li>{ part } </li>" for part in parts ) +
24052403 "</ul>" )
24062404 else :
24072405 html = "No changes"
@@ -2411,7 +2409,6 @@ def send_report(self):
24112409
24122410 @classmethod
24132411 def migrate_context (cls , context , version ):
2414- # pylint: disable=bad-continuation
24152412 if version is None or version <= 1 :
24162413 hints_ = context .values .get ("domain_change_hints" , ({}, - 2 ))[0 ]
24172414 store = []
@@ -2553,13 +2550,13 @@ def type_char(value: ReinterpretTransform) -> str:
25532550 return ReinterpretTypeCode .get (type (value ), "?" )
25542551
25552552 def strike (text ):
2556- return "<s>{}</s>" . format ( escape ( text ))
2553+ return f "<s>{ escape ( text ) } </s>"
25572554
25582555 def i (text ):
2559- return "<i>{}</i>" . format ( escape ( text ))
2556+ return f "<i>{ escape ( text ) } </i>"
25602557
25612558 def text (text ):
2562- return "<span>{}</span>" . format ( escape ( text ))
2559+ return f "<span>{ escape ( text ) } </span>"
25632560 assert trs
25642561 rename = annotate = catmap = unlink = None
25652562 reinterpret = None
@@ -2577,12 +2574,10 @@ def text(text):
25772574 reinterpret = tr
25782575
25792576 if reinterpret is not None :
2580- header = "{} → ({}) {}" .format (
2581- var .name , type_char (reinterpret ),
2582- rename .name if rename is not None else var .name
2583- )
2577+ header = f"{ var .name } → ({ type_char (reinterpret )} ) " \
2578+ f"{ rename .name if rename is not None else var .name } "
25842579 elif rename is not None :
2585- header = "{ } → {}" . format ( var . name , rename .name )
2580+ header = f" { var . name } → { rename .name } "
25862581 else :
25872582 header = var .name
25882583 if unlink is not None :
@@ -2622,9 +2617,9 @@ def text(text):
26222617 i (name ) + " : " + text (old [name ]) + " → " + text (new [name ])
26232618 )
26242619
2625- html = ["<div style='font-weight: bold;'>{}</div>" . format ( header ) ]
2620+ html = [f "<div style='font-weight: bold;'>{ header } </div>" ]
26262621 for title , contents in filter (None , [values_section , annotate_section ]):
2627- section_header = "<div>{}:</div>" . format ( title )
2622+ section_header = f "<div>{ title } :</div>"
26282623 section_contents = "<br/>\n " .join (contents )
26292624 html .append (section_header )
26302625 html .append (
@@ -2670,7 +2665,7 @@ def _parse_attributes(mapping):
26702665 # Use the same functionality that parses attributes
26712666 # when reading text files
26722667 return Orange .data .Flags ([
2673- "{ }={}" . format ( * item ) for item in mapping
2668+ f" { item [ 0 ] } ={ item [ 1 ] } " for item in mapping
26742669 ]).attributes
26752670
26762671
0 commit comments