1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
RequestPreferredLanguages.getPreferredLanguages() returns language objects
based on the Accept-language header. If we can't encode the language code
in ASCII we just skip them.
>>> from lp.services.webapp.servers import LaunchpadTestRequest
>>> from lp.services.geoip.model import RequestPreferredLanguages
>>> langs = {'HTTP_ACCEPT_LANGUAGE': 'pt_BR, Espa\xf1ol'}
>>> request = LaunchpadTestRequest(**langs)
>>> [l.code
... for l in RequestPreferredLanguages(request).getPreferredLanguages()]
[u'pt_BR']
>>> langs = {'HTTP_ACCEPT_LANGUAGE': u'pt_BR, Espa\xf1ol'}
>>> request = LaunchpadTestRequest(**langs)
>>> [l.code
... for l in RequestPreferredLanguages(request).getPreferredLanguages()]
[u'pt_BR']
The getPreferredLanguages() method returns unique codes.
>>> langs = {
... 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.9,de-CH;q=0.8,de;q=0.6,'
... 'en-GB;q=0.4,en-us;q=0.3,en;q=0.1'
... }
>>> request = LaunchpadTestRequest(**langs)
>>> [l.code
... for l in RequestPreferredLanguages(request).getPreferredLanguages()]
[u'en', u'en_GB', u'de']
|