summaryrefslogtreecommitdiff
path: root/addons/http_routing/models/ir_http.py
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-04-16 18:34:56 +0200
committerChristophe Simonis <chs@odoo.com>2018-04-16 18:34:56 +0200
commit5f2d080cf85d54bc52895f9dbc4075b10989d324 (patch)
treec925509b609fb07f6fbef8896710b756c3c6a86f /addons/http_routing/models/ir_http.py
parent026be48ccbbb15daefda070697b135f089f49564 (diff)
parentad825b673b57344a6a1571234f62a0b3aa543bf7 (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.py26
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