if users:
# dont allow special characters in the site login base
- only_alphanumeric = re.compile('[^a-zA-Z0-9]+')
- login_base = only_alphanumeric.sub('', hrn_auth[:20]).lower()
-
+ #only_alphanumeric = re.compile('[^a-zA-Z0-9]+')
+ #login_base = only_alphanumeric.sub('', hrn_auth[:20]).lower()
+ slicename = hrn_to_pl_slicename(hrn)
+ login_base = slicename.split('_')[0]
reg_objects = {}
site = {}
slice = {}
slice['expires'] = int(time.mktime(Credential(string=creds[0]).get_lifetime().timetuple()))
slice['hrn'] = hrn
- slice['name'] = site['login_base'] + "_" + get_leaf(hrn)
+ slice['name'] = hrn_to_pl_slicename(hrn)
slice['url'] = hrn
slice['description'] = hrn
slice['pointer'] = 0
def verify_site(self, registry, credential, slice_hrn, peer, sfa_peer, reg_objects=None):
authority = get_authority(slice_hrn)
authority_urn = hrn_to_urn(authority, 'authority')
-
+ login_base = None
if reg_objects:
site = reg_objects['site']
+ login_base = site['login_base']
else:
site_records = registry.Resolve(authority_urn, [credential])
site = {}
raise RecordNotFound(authority)
remote_site_id = site.pop('site_id')
-
- login_base = get_leaf(authority)
+
+ if login_base is None:
+ login_base = get_leaf(authority)
sites = self.api.plshell.GetSites(self.api.plauth, login_base)
if not sites:
for key in slice_keys:
if key in slice_record and slice_record[key]:
slice_fields[key] = slice_record[key]
-
- # add the slice
+ # add the slice
slice_id = self.api.plshell.AddSlice(self.api.plauth, slice_fields)
slice = slice_fields
slice['slice_id'] = slice_id
# 2. escape '.' # '.' exists in protogeni object names and are not delimiters
# 3. replace ':' with '.' # ':' is the urn hierarchy delimiter
# 4. join list elements using '.'
- hrn = '.'.join([part.replace('.', '\.').replace(':', '.') for part in hrn_parts if part])
+ hrn = '.'.join([part.replace('.', '\\.').replace(':', '.') for part in hrn_parts if part])
return str(hrn), str(type)