in src/openwhisk/openwhisk.py [0:0]
def parse_id_and_ns(name):
name = name.strip()
if len(name) == 0:
raise Exception('Name is not specified')
parts = name.split('/')
n = len(parts) - 1
leadingSlash = name[0] == '/' if len(name) > 0 else False
if n == 0 or (n == 1 and not leadingSlash):
return { 'namespace': default_namespace, 'id': name }
# checking for `/namespace/resource_name` and `namespace/package/resource_name`
if n == 2:
if leadingSlash:
return { 'namespace': parts[1], 'id': parts[2] }
else:
return { 'namespace': parts[0], 'id': parts[1]+'/'+parts[2] }
# checking for `/namespace/package/resource_name`
if n == 3 and leadingSlash:
return { 'namespace': parts[1], 'id': parts[2]+'/'+parts[3] }
raise Exception(invalid_resource_error)