@@ -149,26 +149,23 @@ class DocDict(dict):
149149 allowed_keys = doc_kwargs_keys
150150 allowed_types = loader_specific_keys
151151
152+ def __check_values__ (self , key , value ):
153+ if key not in self .allowed_keys :
154+ raise Exception (f"Cannot set key '{ key } ' in a DocDict" )
155+ if key in self .allowed_types and value is not None :
156+ assert isinstance (value , self .allowed_types [key ])
157+
152158 def __init__ (self , * args , ** kwargs ):
153159 for arg in args :
154160 assert isinstance (arg , dict )
155161 for k , v in arg .items ():
156- if k not in self .allowed_keys :
157- raise Exception (f"Cannot set key '{ k } ' in a DocDict" )
158- if k in self .allowed_types and v is not None :
159- assert isinstance (v , self .allowed_types [k ])
162+ self .__check_values__ (k , v )
160163 for k , v in kwargs .items ():
161- if k not in self .allowed_keys :
162- raise Exception (f"Cannot set key '{ k } ' in a DocDict" )
163- if k in self .allowed_types and v is not None :
164- assert isinstance (v , self .allowed_types [k ])
164+ self .__check_values__ (k , v )
165165 super ().__init__ (* args , ** kwargs )
166166
167167 def __setitem__ (self , key , value ):
168- if key not in self .allowed_keys :
169- raise Exception (f"Cannot set key '{ key } ' in a DocDict" )
170- if key in self .allowed_types and value is not None :
171- assert isinstance (value , self .allowed_types [key ])
168+ self .__check_values__ (key , value )
172169 super ().__setitem__ (key , value )
173170
174171
0 commit comments