Browse Source

[mod] ui localization init - new dependency: flask-babel

asciimoo 11 years ago
parent
commit
598535b24a
4 changed files with 15 additions and 2 deletions
  1. 1
    0
      requirements.txt
  2. 12
    2
      searx/webapp.py
  3. 1
    0
      setup.py
  4. 1
    0
      versions.cfg

+ 1
- 0
requirements.txt View File

1
 flask
1
 flask
2
+flask-babel
2
 grequests
3
 grequests
3
 lxml
4
 lxml
4
 pyyaml
5
 pyyaml

+ 12
- 2
searx/webapp.py View File

21
 import cStringIO
21
 import cStringIO
22
 import os
22
 import os
23
 
23
 
24
-from searx import settings
25
 from flask import Flask, request, render_template
24
 from flask import Flask, request, render_template
26
 from flask import url_for, Response, make_response, redirect
25
 from flask import url_for, Response, make_response, redirect
26
+from flask import send_from_directory
27
+
28
+from searx import settings
27
 from searx.engines import search, categories, engines, get_engines_stats
29
 from searx.engines import search, categories, engines, get_engines_stats
28
 from searx.utils import UnicodeWriter
30
 from searx.utils import UnicodeWriter
29
-from flask import send_from_directory
30
 from searx.utils import highlight_content, html_to_text
31
 from searx.utils import highlight_content, html_to_text
31
 
32
 
33
+from flask.ext.babel import Babel
34
+
32
 
35
 
33
 app = Flask(
36
 app = Flask(
34
     __name__,
37
     __name__,
38
 
41
 
39
 app.secret_key = settings['server']['secret_key']
42
 app.secret_key = settings['server']['secret_key']
40
 
43
 
44
+babel = Babel(app)
45
+
41
 #TODO configurable via settings.yml
46
 #TODO configurable via settings.yml
42
 favicons = ['wikipedia', 'youtube', 'vimeo', 'soundcloud',
47
 favicons = ['wikipedia', 'youtube', 'vimeo', 'soundcloud',
43
             'twitter', 'stackoverflow', 'github']
48
             'twitter', 'stackoverflow', 'github']
56
 '''
61
 '''
57
 
62
 
58
 
63
 
64
+@babel.localeselector
65
+def get_locale():
66
+    return request.accept_languages.best_match(settings['languages'].keys())
67
+
68
+
59
 def get_base_url():
69
 def get_base_url():
60
     if settings['server']['base_url']:
70
     if settings['server']['base_url']:
61
         hostname = settings['server']['base_url']
71
         hostname = settings['server']['base_url']

+ 1
- 0
setup.py View File

30
     zip_safe=False,
30
     zip_safe=False,
31
     install_requires=[
31
     install_requires=[
32
         'flask',
32
         'flask',
33
+        'flask-babel',
33
         'grequests',
34
         'grequests',
34
         'lxml',
35
         'lxml',
35
         'pyyaml',
36
         'pyyaml',

+ 1
- 0
versions.cfg View File

1
 [versions]
1
 [versions]
2
 Flask = 0.10.1
2
 Flask = 0.10.1
3
+Flask-Babel = 0.9
3
 Jinja2 = 2.7.2
4
 Jinja2 = 2.7.2
4
 MarkupSafe = 0.18
5
 MarkupSafe = 0.18
5
 WebOb = 1.3.1
6
 WebOb = 1.3.1