func UnifiedView()

in kernelspecs/kernelspecs.go [36:58]


func UnifiedView(ks *resources.KernelSpec, b *backends.Backend) *resources.KernelSpec {
	if ks == nil {
		return nil
	}
	localID := ks.ID
	unifiedID := b.UnifiedID(localID)
	unifiedSpec := *ks.Spec
	unifiedSpec.DisplayName = b.UnifiedName(unifiedSpec.DisplayName)
	unifiedView := &resources.KernelSpec{
		ID:        unifiedID,
		Spec:      &unifiedSpec,
		Resources: make(map[string]string),
	}
	for k, v := range ks.Resources {
		backendPathPrefix := "/kernelspecs/" + localID + "/"
		unifiedPathPrefix := "/kernelspecs/" + unifiedID + "/"
		if strings.HasPrefix(v, backendPathPrefix) {
			v = unifiedPathPrefix + strings.TrimPrefix(v, backendPathPrefix)
		}
		unifiedView.Resources[k] = v
	}
	return unifiedView
}