Просмотр исходного кода

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

asciimoo 11 лет назад
Родитель
Сommit
598535b24a
4 измененных файлов: 15 добавлений и 2 удалений
  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 Просмотреть файл

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

+ 12
- 2
searx/webapp.py Просмотреть файл

@@ -21,14 +21,17 @@ import json
21 21
 import cStringIO
22 22
 import os
23 23
 
24
-from searx import settings
25 24
 from flask import Flask, request, render_template
26 25
 from flask import url_for, Response, make_response, redirect
26
+from flask import send_from_directory
27
+
28
+from searx import settings
27 29
 from searx.engines import search, categories, engines, get_engines_stats
28 30
 from searx.utils import UnicodeWriter
29
-from flask import send_from_directory
30 31
 from searx.utils import highlight_content, html_to_text
31 32
 
33
+from flask.ext.babel import Babel
34
+
32 35
 
33 36
 app = Flask(
34 37
     __name__,
@@ -38,6 +41,8 @@ app = Flask(
38 41
 
39 42
 app.secret_key = settings['server']['secret_key']
40 43
 
44
+babel = Babel(app)
45
+
41 46
 #TODO configurable via settings.yml
42 47
 favicons = ['wikipedia', 'youtube', 'vimeo', 'soundcloud',
43 48
             'twitter', 'stackoverflow', 'github']
@@ -56,6 +61,11 @@ opensearch_xml = '''<?xml version="1.0" encoding="utf-8"?>
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 69
 def get_base_url():
60 70
     if settings['server']['base_url']:
61 71
         hostname = settings['server']['base_url']

+ 1
- 0
setup.py Просмотреть файл

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

+ 1
- 0
versions.cfg Просмотреть файл

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