From 772f8a738bc815fea7ed8a0c7165fc9b92829ccc Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Sun, 30 Dec 2018 09:40:32 -0800 Subject: [PATCH] #63 Migrate to new API. --- l10n_us_partner_zipcode/res_partner.py | 16 ++++++++-------- sale_planner/models/partner.py | 14 +++++++------- sale_planner/wizard/order_planner.py | 14 +++++++------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/l10n_us_partner_zipcode/res_partner.py b/l10n_us_partner_zipcode/res_partner.py index d21924d7..f209168a 100644 --- a/l10n_us_partner_zipcode/res_partner.py +++ b/l10n_us_partner_zipcode/res_partner.py @@ -3,10 +3,10 @@ import logging _logger = logging.getLogger(__name__) try: - from uszipcode import ZipcodeSearchEngine + from uszipcode import SearchEngine except ImportError: _logger.warn('module "uszipcode" cannot be loaded, you will be unable to detect Cities and States by ZIP') - ZipcodeSearchEngine = None + SearchEngine = None from odoo import api, fields, models @@ -16,24 +16,24 @@ class Partner(models.Model): @api.onchange('zip') def _zip_to_city_state(self): - if ZipcodeSearchEngine and self.zip and not self.city: + if SearchEngine and self.zip and not self.city: country_us = self.env['res.country'].search([('code', '=', 'US')], limit=1) state_obj = self.env['res.country.state'] if not self.country_id or self.country_id.id == country_us.id: - with ZipcodeSearchEngine() as search: + with SearchEngine() as search: zipcode = search.by_zipcode(self.zip) if zipcode: if not self.country_id: self.country_id = country_us - self.city = zipcode['City'] + self.city = zipcode.city self.state_id = state_obj.search([ - ('code', '=', zipcode['State']), + ('code', '=', zipcode.state), ('country_id', '=', country_us.id), ], limit=1) if hasattr(self, 'partner_latitude') and not self.partner_latitude: - self.partner_latitude = zipcode['Latitude'] - self.partner_longitude = zipcode['Longitude'] + self.partner_latitude = zipcode.lat + self.partner_longitude = zipcode.lng self.date_localization = fields.Date.context_today(self) return {} diff --git a/sale_planner/models/partner.py b/sale_planner/models/partner.py index a14c45d3..fe44f548 100644 --- a/sale_planner/models/partner.py +++ b/sale_planner/models/partner.py @@ -1,9 +1,9 @@ from odoo import api, fields, models try: - from uszipcode import ZipcodeSearchEngine + from uszipcode import SearchEngine except ImportError: - ZipcodeSearchEngine = None + SearchEngine = None class Partner(models.Model): @@ -13,13 +13,13 @@ class Partner(models.Model): def geo_localize(self): # We need country names in English below for partner in self.with_context(lang='en_US'): - if ZipcodeSearchEngine and partner.zip: - with ZipcodeSearchEngine() as search: + if SearchEngine and partner.zip: + with SearchEngine() as search: zipcode = search.by_zipcode(str(self.zip).split('-')[0]) - if zipcode and zipcode['Latitude']: + if zipcode and zipcode.lat: partner.write({ - 'partner_latitude': zipcode['Latitude'], - 'partner_longitude': zipcode['Longitude'], + 'partner_latitude': zipcode.lat, + 'partner_longitude': zipcode.lng, 'date_localization': fields.Date.context_today(partner), }) else: diff --git a/sale_planner/wizard/order_planner.py b/sale_planner/wizard/order_planner.py index 10ac7aba..75c81fca 100644 --- a/sale_planner/wizard/order_planner.py +++ b/sale_planner/wizard/order_planner.py @@ -8,10 +8,10 @@ from logging import getLogger _logger = getLogger(__name__) try: - from uszipcode import ZipcodeSearchEngine + from uszipcode import SearchEngine except ImportError: _logger.warn('module "uszipcode" cannot be loaded, falling back to Google API') - ZipcodeSearchEngine = None + SearchEngine = None from odoo import api, fields, models, tools from odoo.addons.base_geolocalize.models.res_partner import geo_find, geo_query_address @@ -58,12 +58,12 @@ class FakePartner(): if not hasattr(self, 'date_localization') and self.date_localization: self.date_localization = 'TODAY!' # The fast way. - if ZipcodeSearchEngine and self.zip: - with ZipcodeSearchEngine() as search: + if SearchEngine and self.zip: + with SearchEngine() as search: zipcode = search.by_zipcode(str(self.zip).split('-')[0]) - if zipcode and zipcode['Latitude']: - self.partner_latitude = zipcode['Latitude'] - self.partner_longitude = zipcode['Longitude'] + if zipcode and zipcode.lat: + self.partner_latitude = zipcode.lat + self.partner_longitude = zipcode.lng return self.date_localization # The slow way.