File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1479,6 +1479,34 @@ def method(*args, **kwargs):
14791479 self .add_Err_msg (f"VAR.{ name } raises an AttributeError" , self .error_code ("Attribute" ))
14801480 return self
14811481
1482+ def __getitem__ (self , key ): # index return, a[index]
1483+ if not self ._success :
1484+ err = Result (self )
1485+ err .add_Err_msg (f"Err()[{ key } ] is not subscriptable." , self .error_code ("not_Ok" ), add_traceback = True )
1486+ return err
1487+ try :
1488+ return Result (self ._val [key ])
1489+ except Exception as e :
1490+ return Result (
1491+ "" ,
1492+ success = False ,
1493+ error_msg = f"Ok()[{ key } ] raises { e } " ,
1494+ error_code = self .error_code ("Subscript_Error" ),
1495+ error_code_group = self ._g ,
1496+ )
1497+
1498+ def __setitem__ (self , key , value ): # set from index, a[index] = XYZ
1499+ if self ._success :
1500+ try :
1501+ self ._val [key ] = value
1502+ except Exception as e :
1503+ self .add_Err_msg (
1504+ f"Ok()[{ key } ]=value raises { e } " ,
1505+ error_code = self .error_code ("Subscript_Error" ),
1506+ )
1507+ else :
1508+ self .add_Err_msg (f"Err()[{ key } ] is not subscriptable." , self .error_code ("not_Ok" ), add_traceback = True )
1509+
14821510 def __iter__ (self ):
14831511 return self .iter_wrap ()
14841512
You can’t perform that action at this time.
0 commit comments