@@ -59,21 +59,20 @@ def normalize(
5959 items = ((normalize (k , bool_ok = False ), normalize (v )) for k , v in data .items ())
6060 if keywords is None :
6161 return as_dict_check_unique (items )
62- ret1 : SubDict = MultiDict (items )
62+ md : SubDict = MultiDict (items )
6363 seen = set ()
64- for k , v in ret1 .items ():
64+ for k , v in md .items ():
6565 if k .startswith ("#" ):
6666 if isinstance (v , Mapping ):
6767 msg = f"Directive { k } cannot have a dictionary as value"
6868 raise ValueError (msg )
69- else :
70- if k in seen :
71- msg = (
72- f"Duplicate keyword { k } in dictionary with keywords { keywords } "
73- )
74- raise ValueError (msg )
75- seen .add (k )
76- return ret1
69+ elif k in seen :
70+ msg = f"Duplicate keyword { k } in dictionary with keywords { keywords } "
71+ raise ValueError (msg )
72+ seen .add (k )
73+ if len (md ) == len (seen ):
74+ return dict (md )
75+ return md
7776
7877 if keywords == () and is_sequence (data ) and not isinstance (data , tuple ):
7978 try :
@@ -120,9 +119,9 @@ def normalize(
120119 return normalize (data )
121120
122121 if isinstance (data , np .ndarray ):
123- ret2 = data .tolist ()
124- assert isinstance (ret2 , (int , float , list ))
125- return ret2
122+ ret = data .tolist ()
123+ assert isinstance (ret , (int , float , list ))
124+ return ret
126125
127126 if (
128127 not isinstance (data , DimensionSet )
0 commit comments