func newPaths()

in code/function/function.go [94:121]


func newPaths(ctx context.Context, e GCSEvent) (string, string, error) {
	t := thumbnailPath(e.Name)
	o := originalPath(e.Name)

	doesExist, err := exists(ctx, e.Bucket, t)
	if err != nil {
		return "", "", err
	}

	i := 0
	for doesExist {
		i++
		t = thumbnailPath(e.Name)
		t = strings.Replace(t, "/thumbnail", fmt.Sprintf("_%d/thumbnail", i), 1)
		doesExist, err = exists(ctx, e.Bucket, t)
		if err != nil {
			return "", "", err
		}

		if !doesExist {
			o = originalPath(e.Name)
			o = strings.Replace(o, "/original", fmt.Sprintf("_%d/original", i), 1)
		}

	}

	return t, o, nil
}