Skip to content
Extraits de code Groupes Projets
Valider 76a37820 rédigé par Juliana's avatar Juliana
Parcourir les fichiers

Modif appel API

parent f63a7bf5
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# © 2017 Le Filament (<http://www.le-filament.com>) # © 2020 Le Filament (<http://www.le-filament.com>)
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
from . import models from . import models
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2018 Le Filament (<https://www.le-filament.com>) <!-- Copyright 2020 Le Filament (<https://www.le-filament.com>)
License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). --> License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). -->
<odoo> <odoo>
<data noupdate="1"> <data noupdate="1">
......
...@@ -2,35 +2,32 @@ ...@@ -2,35 +2,32 @@
# © 2020 Le Filament (<http://www.le-filament.com>) # © 2020 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). # License AGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
import json import requests
import urllib.request import logging
import time
from odoo import api, fields, models, tools, _ from odoo import api, fields, models, tools, _
from odoo.exceptions import UserError from odoo.exceptions import UserError
_logger = logging.getLogger(__name__)
def geo_find(addr): def geo_find(addr):
if not addr: if not addr:
return None return None
url = 'https://nominatim.openstreetmap.org/search.php/'
url += urllib.request.quote(addr.encode('utf8'))
url += '?format=json'
url = 'https://nominatim.openstreetmap.org/search'
try: try:
result = json.load(urllib.request.urlopen(url)) headers = {'User-Agent': 'Odoo (http://www.odoo.com/contactus)'}
response = requests.get(url, headers=headers, params={'format': 'json', 'q': addr})
_logger.info('openstreetmap nominatim service called')
if response.status_code != 200:
_logger.error('Request to openstreetmap failed.\nCode: %s\nContent: %s' % (response.status_code, response.content))
result = response.json()
except Exception as e: except Exception as e:
raise UserError(_('Cannot contact geolocation servers. Please make \ raise UserError(_('Cannot contact geolocation servers. Please make sure that your Internet connection is up and running (%s).') % e)
sure that your Internet connection is up and \
running (%s).') % e)
try:
if result:
geo = result[0] geo = result[0]
return [float(geo['lat']), float(geo['lon'])] return float(geo['lat']), float(geo['lon'])
return None
except (KeyError, ValueError):
return None
def geo_query_address(street=None, zip=None, city=None, def geo_query_address(street=None, zip=None, city=None,
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter