diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-04-16 18:34:56 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-04-16 18:34:56 +0200 |
| commit | 5f2d080cf85d54bc52895f9dbc4075b10989d324 (patch) | |
| tree | c925509b609fb07f6fbef8896710b756c3c6a86f /addons/http_routing/models/ir_http.py | |
| parent | 026be48ccbbb15daefda070697b135f089f49564 (diff) | |
| parent | ad825b673b57344a6a1571234f62a0b3aa543bf7 (diff) | |
[MERGE] forward port branch 11.0 up to ad825b673b5
Diffstat (limited to 'addons/http_routing/models/ir_http.py')
| -rw-r--r-- | addons/http_routing/models/ir_http.py | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/addons/http_routing/models/ir_http.py b/addons/http_routing/models/ir_http.py index 4011f4987d7..5a9343e03ff 100644 --- a/addons/http_routing/models/ir_http.py +++ b/addons/http_routing/models/ir_http.py @@ -18,6 +18,8 @@ from odoo.addons.base.models.ir_http import RequestUID, ModelConverter from odoo.http import request from odoo.tools import config, ustr, pycompat +from ..geoipresolver import GeoIPResolver + _logger = logging.getLogger(__name__) # global resolver (GeoIP API is thread-safe, for multithreaded workers) @@ -229,6 +231,13 @@ class IrHttp(models.AbstractModel): return request.env['res.lang'].search([('code', '=', lang_code)], limit=1) return request.env['res.lang'].search([], limit=1) + @classmethod + def _get_translation_frontend_modules_domain(cls): + """ Return a domain to list the domain adding web-translations and + dynamic resources that may be used frontend views + """ + return [] + bots = "bot|crawl|slurp|spider|curl|wget|facebookexternalhit".split("|") @classmethod @@ -258,25 +267,18 @@ class IrHttp(models.AbstractModel): # Lazy init of GeoIP resolver if odoo._geoip_resolver is not None: return + geofile = config.get('geoip_database') try: - import GeoIP - # updated database can be downloaded on MaxMind website - # http://dev.maxmind.com/geoip/legacy/install/city/ - geofile = config.get('geoip_database') - if os.path.exists(geofile): - odoo._geoip_resolver = GeoIP.open(geofile, GeoIP.GEOIP_STANDARD) - else: - odoo._geoip_resolver = False - _logger.warning('GeoIP database file %r does not exists, apt-get install geoip-database-contrib or download it from http://dev.maxmind.com/geoip/legacy/install/city/', geofile) - except ImportError: - odoo._geoip_resolver = False + odoo._geoip_resolver = GeoIPResolver.open(geofile) or False + except Exception as e: + _logger.warning('Cannot load GeoIP: %s', ustr(e)) @classmethod def _geoip_resolve(cls): if 'geoip' not in request.session: record = {} if odoo._geoip_resolver and request.httprequest.remote_addr: - record = odoo._geoip_resolver.record_by_addr(request.httprequest.remote_addr) or {} + record = odoo._geoip_resolver.resolve(request.httprequest.remote_addr) or {} request.session['geoip'] = record @classmethod |
