@@ -95,8 +95,8 @@ def fully_resolve(expr, env):
9595 retval = handle (expr , env )
9696 if isinstance (retval , text_type ):
9797 return retval
98- else :
99- return fully_resolve (retval , env )
98+
99+ return fully_resolve (retval , env )
100100
101101
102102@singledispatch
@@ -196,25 +196,22 @@ def lookup_reference(ref, env):
196196 """
197197 ref_id = reference_to_id (ref )
198198
199- message = None
200199 try :
201- message = env .context ._messages_and_terms [ref_id ]
200+ return env .context ._messages_and_terms [ref_id ]
202201 except LookupError :
203202 env .errors .append (unknown_reference_error_obj (ref_id ))
204203
205204 if isinstance (ref , AttributeExpression ):
205+ # Fallback
206206 parent_id = reference_to_id (ref .ref )
207207 try :
208- message = env .context ._messages_and_terms [parent_id ]
208+ return env .context ._messages_and_terms [parent_id ]
209209 except LookupError :
210210 # Don't add error here, because we already added error for the
211211 # actual thing we were looking for.
212212 pass
213213
214- if message is None :
215- message = FluentNone (ref_id )
216-
217- return message
214+ return FluentNone (ref_id )
218215
219216
220217@handle .register (FluentNone )
@@ -285,8 +282,8 @@ def select_from_variant_list(variant_list, env, key):
285282 found = default
286283 if found is None :
287284 return FluentNone ()
288- else :
289- return handle (found .value , env )
285+
286+ return handle (found .value , env )
290287
291288
292289@handle .register (SelectExpression )
@@ -312,8 +309,7 @@ def select_from_select_expression(expression, env, key):
312309 found = default
313310 if found is None :
314311 return FluentNone ()
315- else :
316- return handle (found .value , env )
312+ return handle (found .value , env )
317313
318314
319315def is_number (val ):
@@ -329,9 +325,8 @@ def match(val1, val2, env):
329325 if not is_number (val2 ):
330326 # Could be plural rule match
331327 return env .context ._plural_form (val1 ) == val2
332- else :
333- if is_number (val2 ):
334- return match (val2 , val1 , env )
328+ elif is_number (val2 ):
329+ return match (val2 , val1 , env )
335330
336331 return val1 == val2
337332
@@ -369,20 +364,21 @@ def handle_call_expression(expression, env):
369364 .format (reference_to_id (expression .callee ))))
370365 with env .modified_for_term_reference (args = kwargs ):
371366 return handle (term , env )
372- else :
373- function_name = expression .callee .id .name
374- try :
375- function = env .context ._functions [function_name ]
376- except LookupError :
377- env .errors .append (FluentReferenceError ("Unknown function: {0}"
378- .format (function_name )))
379- return FluentNone (function_name + "()" )
380-
381- try :
382- return function (* args , ** kwargs )
383- except Exception as e :
384- env .errors .append (e )
385- return FluentNone (function_name + "()" )
367+
368+ # builtin or custom function call
369+ function_name = expression .callee .id .name
370+ try :
371+ function = env .context ._functions [function_name ]
372+ except LookupError :
373+ env .errors .append (FluentReferenceError ("Unknown function: {0}"
374+ .format (function_name )))
375+ return FluentNone (function_name + "()" )
376+
377+ try :
378+ return function (* args , ** kwargs )
379+ except Exception as e :
380+ env .errors .append (e )
381+ return FluentNone (function_name + "()" )
386382
387383
388384@handle .register (FluentNumber )
0 commit comments