From 1f97c63aedc89c340df5920be7ae301b2be8a29b Mon Sep 17 00:00:00 2001 From: Thomas NOEL Date: Fri, 2 Feb 2018 15:30:52 +0100 Subject: [PATCH] check_hobo: don't modify wcs base_url in stored hobo.json (#21605) --- wcs/ctl/check_hobos.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/wcs/ctl/check_hobos.py b/wcs/ctl/check_hobos.py index 838fb53d..c8d698a5 100644 --- a/wcs/ctl/check_hobos.py +++ b/wcs/ctl/check_hobos.py @@ -109,8 +109,6 @@ class CmdCheckHobos(Command): return service['this'] = True - if base_url.endswith('/'): # wcs doesn't expect a trailing slash - service['base_url'] = base_url[:-1] pub.app_dir = os.path.join(global_app_dir, self.get_instance_path(service)) @@ -150,7 +148,11 @@ class CmdCheckHobos(Command): if not pub.cfg.get('misc'): pub.cfg['misc'] = {'charset': 'utf-8'} pub.cfg['misc']['sitename'] = service.get('title').encode('utf-8') - pub.cfg['misc']['frontoffice-url'] = service.get('base_url').encode('utf-8') + + base_url = service.get('base_url') + if base_url.endswith('/'): # wcs doesn't expect a trailing slash + base_url = base_url[:-1] + pub.cfg['misc']['frontoffice-url'] = base_url.encode('utf-8') if not pub.cfg.get('language'): pub.cfg['language'] = {'language': 'fr'} @@ -274,7 +276,10 @@ class CmdCheckHobos(Command): if not pub.cfg['sp'].get('publickey'): from qommon.ident.idp import MethodAdminDirectory spconfig = pub.cfg['sp'] - spconfig['saml2_base_url'] = str(service.get('base_url')) + '/saml' + base_url = service.get('base_url') + if base_url.endswith('/'): + base_url = base_url[:-1] + spconfig['saml2_base_url'] = str(base_url) + '/saml' spconfig['saml2_providerid'] = spconfig['saml2_base_url'] + '/metadata' MethodAdminDirectory().generate_rsa_keypair() @@ -319,7 +324,10 @@ class CmdCheckHobos(Command): pub.write_cfg() def get_instance_path(self, service): - parsed_url = urllib2.urlparse.urlsplit(service.get('base_url')) + base_url = service.get('base_url') + if base_url.endswith('/'): + base_url = base_url[:-1] + parsed_url = urllib2.urlparse.urlsplit(base_url) instance_path = parsed_url.netloc if parsed_url.path: instance_path += '+%s' % parsed_url.path.replace('/', '+') @@ -376,7 +384,7 @@ class CmdCheckHobos(Command): variables['portal_user_url'] = service_url variables['portal_user_title'] = service.get('title') config.set('options', 'theme_skeleton_url', - service.get('base_url') + '__skeleton__/') + service_url + '__skeleton__/') if service.get('service-id') == 'authentic': variables['idp_account_url'] = service_url + 'accounts/' if self.all_services.get('variables'): -- 2.15.1