From 2d0a7b6f35c6063c2ced17199055354a82949cb0 Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Sat, 29 Dec 2018 09:35:46 -0800 Subject: [PATCH 1/3] Update GitLabCI to allow more complicated builds. Namely, a branch named A/B/C where B is a 'release' that this build will use. (i.e. pull image tagged B to start) --- .gitlab-ci.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 80f20de4..af592f96 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,7 +14,8 @@ variables: ENTERPRISE_PROJECT_ID: 10004796 before_script: - - RELEASE=$(echo $CI_COMMIT_REF_SLUG | sed "s/^\([[:digit:]][[:digit:]]\)-\([[:digit:]]\)/\1\.\2/g") + - RELEASE=$(echo $CI_COMMIT_REF_NAME | sed "s{.*\/\(.*\)\/.*{\1{g") + - IMAGE_TAG=$(echo $CI_COMMIT_REF_SLUG | sed "s/^\([[:digit:]][[:digit:]]\)-\([[:digit:]]\)/\1\.\2/g") - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com - apk add git - git submodule sync --recursive @@ -24,11 +25,13 @@ build: stage: build script: - sed -i "s/RELEASE/$RELEASE/g" Dockerfile-GitLab - - docker build --pull -t $CONTAINER_IMAGE:$RELEASE -f Dockerfile-GitLab . + - docker build --pull -t $CONTAINER_IMAGE:$IMAGE_TAG -f Dockerfile-GitLab . - docker push $CONTAINER_IMAGE:$RELEASE trigger: stage: trigger script: - docker run byrnedo/alpine-curl curl --request POST --form "token=$CI_JOB_TOKEN" --form ref=$RELEASE $GITLAB_BASE_URL/api/v4/projects/$ENTERPRISE_PROJECT_ID/trigger/pipeline + only: + - /^\d\d\.\d/ From c334bc357f5a8a7b214f0bc64cc4c827bc733dfc Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Sat, 29 Dec 2018 09:40:10 -0800 Subject: [PATCH 2/3] FIX cannot push missing tag --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index af592f96..97144120 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -26,7 +26,7 @@ build: script: - sed -i "s/RELEASE/$RELEASE/g" Dockerfile-GitLab - docker build --pull -t $CONTAINER_IMAGE:$IMAGE_TAG -f Dockerfile-GitLab . - - docker push $CONTAINER_IMAGE:$RELEASE + - docker push $CONTAINER_IMAGE:$IMAGE_TAG trigger: stage: trigger From 772f8a738bc815fea7ed8a0c7165fc9b92829ccc Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Sun, 30 Dec 2018 09:40:32 -0800 Subject: [PATCH 3/3] #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.