1212from .types import FluentType , FluentDateType , FluentNone , FluentNumber , FluentInt , FluentFloat , fluent_date , fluent_number
1313from .utils import numeric_to_native , reference_to_id , unknown_reference_error_obj
1414
15- try :
16- from functools import singledispatch
17- except ImportError :
18- # Python < 3.4
19- from singledispatch import singledispatch
20-
2115
2216text_type = six .text_type
2317
@@ -75,41 +69,6 @@ def modified_for_term_reference(self, args=None):
7569 error_for_missing_arg = False )
7670
7771
78- def resolve (context , message , args ):
79- """
80- Given a FluentBundle, a Message instance and some arguments,
81- resolve the message to a string.
82-
83- This is the normal entry point for this module.
84- """
85- errors = []
86- env = ResolverEnvironment (context = context ,
87- current = CurrentEnvironment (args = args ),
88- errors = errors )
89- return fully_resolve (message , env ), errors
90-
91-
92- def fully_resolve (expr , env ):
93- """
94- Fully resolve an expression to a string
95- """
96- # This differs from 'handle' in that 'handle' will often return non-string
97- # objects, even if a string could have been returned, to allow for further
98- # handling of that object e.g. attributes of messages. fully_resolve is
99- # only used when we must have a string.
100- retval = handle (expr , env )
101- if isinstance (retval , text_type ):
102- return retval
103-
104- return fully_resolve (retval , env )
105-
106-
107- @singledispatch
108- def handle (expr , env ):
109- raise NotImplementedError ("Cannot handle object of type {0}"
110- .format (type (expr ).__name__ ))
111-
112-
11372class BaseResolver (object ):
11473 def __call__ (self , env ):
11574 raise NotImplementedError
@@ -120,13 +79,11 @@ class Literal(BaseResolver):
12079
12180
12281class Message (FTL .Message , BaseResolver ):
123- def __call__ (self , env ):
124- return self .value (env )
82+ pass
12583
12684
12785class Term (FTL .Term , BaseResolver ):
128- def __call__ (self , env ):
129- return self .value (env )
86+ pass
13087
13188
13289class Pattern (FTL .Pattern , BaseResolver ):
@@ -262,8 +219,7 @@ def __call__(self, env):
262219
263220
264221class Attribute (FTL .Attribute , BaseResolver ):
265- def __call__ (self , env ):
266- return self .value (env )
222+ pass
267223
268224
269225class VariantListResolver (BaseResolver ):
@@ -315,8 +271,6 @@ def select_from_select_expression(self, env, key):
315271
316272 if found is None :
317273 found = default
318- if found is None :
319- return FluentNoneResolver ()
320274 return found .value (env )
321275
322276
@@ -340,8 +294,7 @@ def match(val1, val2, env):
340294
341295
342296class Variant (FTL .Variant , BaseResolver ):
343- def __call__ (self , env ):
344- return self .value (env )
297+ pass
345298
346299
347300class Identifier (FTL .Identifier , BaseResolver ):
@@ -352,8 +305,6 @@ def __call__(self, env):
352305class VariantExpression (FTL .VariantExpression , BaseResolver ):
353306 def __call__ (self , env ):
354307 message = lookup_reference (self .ref , env )
355- if isinstance (message , FluentNone ):
356- return FluentNoneResolver (FluentNone .name )
357308
358309 # TODO What to do if message is not a VariantList?
359310 # Need test at least.
@@ -393,40 +344,4 @@ def __call__(self, env):
393344
394345
395346class NamedArgument (FTL .NamedArgument , BaseResolver ):
396- def __call__ (self , env ):
397- return self .value (env )
398-
399-
400- @handle .register (FluentNumber )
401- def handle_fluent_number (number , env ):
402- return number .format (env .context ._babel_locale )
403-
404-
405- @handle .register (int )
406- def handle_int (integer , env ):
407- return fluent_number (integer ).format (env .context ._babel_locale )
408-
409-
410- @handle .register (float )
411- def handle_float (f , env ):
412- return fluent_number (f ).format (env .context ._babel_locale )
413-
414-
415- @handle .register (Decimal )
416- def handle_decimal (d , env ):
417- return fluent_number (d ).format (env .context ._babel_locale )
418-
419-
420- @handle .register (FluentDateType )
421- def handle_fluent_date_type (d , env ):
422- return d .format (env .context ._babel_locale )
423-
424-
425- @handle .register (date )
426- def handle_date (d , env ):
427- return fluent_date (d ).format (env .context ._babel_locale )
428-
429-
430- @handle .register (datetime )
431- def handle_datetime (d , env ):
432- return fluent_date (d ).format (env .context ._babel_locale )
347+ pass
0 commit comments