@@ -130,57 +130,56 @@ def run(self, namespace: Namespace = None):
130130 if isinstance (namespace , Namespace ):
131131 namespace = namespace .__dict__
132132
133- curry , literal = {}, {}
133+ partial , literal = {}, {}
134134 for key , value in namespace .items ():
135135
136- curry_co = curry
136+ partial_co = partial
137137 literal_co = literal
138138 * names , key = key .split ('.' )
139139 for name in names :
140- curry_co = curry_co .setdefault (name , {})
140+ partial_co = partial_co .setdefault (name , {})
141141 literal_co = literal_co .setdefault (name , {})
142142 if key == AKU_FN :
143- curry_co [key ], literal_co [key ] = value
143+ partial_co [key ], literal_co [key ] = value
144144 else :
145- curry_co [key ] = literal_co [key ] = value
145+ partial_co [key ] = literal_co [key ] = value
146146
147- def recur_curry (item ):
147+ def recur_partial (item ):
148148 if isinstance (item , dict ):
149149 if AKU_FN in item :
150150 func = item .pop (AKU_FN )
151- kwargs = {k : recur_curry (v ) for k , v in item .items ()}
151+ kwargs = {k : recur_partial (v ) for k , v in item .items ()}
152152 return functools .partial (func , ** kwargs )
153153 else :
154- return {k : recur_curry (v ) for k , v in item .items ()}
154+ return {k : recur_partial (v ) for k , v in item .items ()}
155155 else :
156156 return item
157157
158- def abbreviate_literal (item ):
158+ def recur_literal (item ):
159159 out , keys , values = {}, [], []
160160
161- def recur (prefixes , k , v ):
161+ def recur (prefixes , domain , v ):
162162 nonlocal keys , values
163163
164164 if isinstance (v , dict ):
165165 for x , y in v .items ():
166166 if x == AKU_FN :
167- out ['-' .join (prefixes [1 :] + ( k , ))] = y
168- elif k .endswith ('_' ):
169- recur (prefixes + (k [: - 1 ] ,), x , y )
167+ out ['-' .join (( * prefixes [1 :], domain . removesuffix ( '_' ) ))] = y
168+ elif domain .endswith ('_' ):
169+ recur (prefixes + (domain . removesuffix ( '_' ) ,), x , y )
170170 else :
171171 recur (prefixes , x , y )
172172 else :
173- out ['-' .join (prefixes [ 1 :] + (k ,))] = v
173+ out ['-' .join (prefixes + (domain ,))] = v
174174
175175 recur ((), '' , item )
176176 return out
177177
178- curry = recur_curry (curry )
179- literal = abbreviate_literal (literal )
178+ partial = recur_partial (partial )
180179
181- assert len (curry ) == 1
182- for _ , fn in curry .items ():
180+ assert len (partial ) == 1
181+ for _ , fn in partial .items ():
183182 if inspect .getfullargspec (fn ).varkw is None :
184183 return fn ()
185184 else :
186- return fn (** {AKU : literal })
185+ return fn (** {AKU : recur_literal ( literal ) })
0 commit comments