File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -726,6 +726,22 @@ def __ge__(self, value): return self.value >= value # pylint: di
726726
727727 def __iter__ (self ):
728728 return iter (self .value )
729+
730+ def __getitem__ (self , key ):
731+ if isinstance (self .value , (list , dict )):
732+ return self .value [key ]
733+ else :
734+ raise TypeError (f"'{ type (self .value ).__name__ } ' object does not support item access" )
735+
736+ def __setitem__ (self , key , value ):
737+ if isinstance (self .value , (list , dict )):
738+ self .value [key ] = value
739+ self .model .changed (self .name , self .value )
740+ for listener in self .listeners :
741+ listener (self )
742+ else :
743+ raise TypeError (f"'{ type (self .value ).__name__ } ' object does not support item assignment" )
744+
729745
730746 def __repr__ (self ):
731747 return f'"{ self .value } "' if isinstance (self .value , str ) else repr (self .value )
You can’t perform that action at this time.
0 commit comments