Example #1
0
def flattenL10n(placeHolder, ctx):
    kw = placeHolder.kwargs

    try:
        languages = inevow.ILanguages(ctx)
    except TypeError:
        pass
    else:
        kw = dict(kw)  # copy before we mutate it
        kw['languages'] = languages

    try:
        cfg = inevow.II18NConfig(ctx)
    except TypeError:
        pass
    else:
        kw = dict(kw)  # copy before we mutate it
        if cfg.domain is not None:
            kw['domain'] = cfg.domain
        if cfg.localeDir is not None:
            kw['localeDir'] = cfg.localeDir

    s = placeHolder.translator(*placeHolder.args, **kw)
    for mod in placeHolder.mod:
        s = s % mod
    return s
Example #2
0
 def test_quality_sort(self):
     request = FakeRequest(headers={
         'accept-language': 'fo;q=0.4,ba;q=0.2,xy;q=0.9',
         })
     ctx = context.RequestContext(tag=request)
     r = inevow.ILanguages(ctx)
     self.assertEquals(r, ['xy', 'fo', 'ba'])
Example #3
0
 def test_quality_invalid_notFloat(self):
     request = FakeRequest(headers={
         'accept-language': 'fo;q=0.4,ba;q=junk',
         })
     ctx = context.RequestContext(tag=request)
     r = inevow.ILanguages(ctx)
     self.assertEquals(r, ['ba', 'fo'])
Example #4
0
 def test_quality_simple(self):
     request = FakeRequest(headers={
         'accept-language': 'fo;q=0.4',
         })
     ctx = context.RequestContext(tag=request)
     r = inevow.ILanguages(ctx)
     self.assertEquals(r, ['fo'])
Example #5
0
 def test_multipleLanguages(self):
     request = FakeRequest(headers={
         'accept-language': 'fo,ba,th',
         })
     ctx = context.RequestContext(tag=request)
     r = inevow.ILanguages(ctx)
     self.assertEquals(r, ['fo', 'ba', 'th'])
Example #6
0
 def test_oneLanguage(self):
     request = FakeRequest(headers={
         'accept-language': 'fo',
     })
     ctx = context.RequestContext(tag=request)
     r = inevow.ILanguages(ctx)
     self.assertEqual(r, ['fo'])
Example #7
0
def flattenL10n(placeHolder, ctx):
    kw = placeHolder.kw

    try:
        languages = inevow.ILanguages(ctx)
    except compy.CannotAdapt:
        pass
    else:
        kw = dict(kw)  # copy before we mutate it
        kw['languages'] = languages

    try:
        cfg = inevow.II18NConfig(ctx)
    except compy.CannotAdapt:
        pass
    else:
        kw = dict(kw)  # copy before we mutate it
        if cfg.domain is not None:
            kw['domain'] = cfg.domain
        if cfg.localeDir is not None:
            kw['localeDir'] = cfg.localeDir

    s = placeHolder.translator(placeHolder.original, **kw)
    for mod in placeHolder.mod:
        if isinstance(mod, tuple):
            l = tuple([FlatteningProxy(ctx, x) for x in mod])
        else:
            l = FlatteningProxy(ctx, mod)
        s = s % l
    return s
Example #8
0
 def test_noLanguages(self):
     request = FakeRequest(headers={})
     ctx = context.RequestContext(tag=request)
     r = inevow.ILanguages(ctx)
     self.assertEquals(r, [])