sigs.k8s.io/prow@v0.0.0-20240503223140-c5e374dc7eb1/pkg/bugzilla/status.go (about)

     1  /*
     2  Copyright 2019 The Kubernetes Authors.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  package bugzilla
    18  
    19  import "fmt"
    20  
    21  // PrettyStatus returns:
    22  //   - "status (resolution)" if both status and resolution are not empty
    23  //   - "status" if only resolution is empty
    24  //   - "any status with resolution RESOLUTION" if only status is empty
    25  //   - "" if both status and resolution are empty
    26  //
    27  // This is useful in user-facing messages that communicate bug state information
    28  func PrettyStatus(status, resolution string) string {
    29  	if resolution == "" {
    30  		return status
    31  	}
    32  	if status == "" {
    33  		return fmt.Sprintf("any status with resolution %s", resolution)
    34  	}
    35  
    36  	return fmt.Sprintf("%s (%s)", status, resolution)
    37  }