* Copyright (c) 2026 Huawei Technologies Co., Ltd.
* openFuyao is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
package scanner
import (
"strings"
compliancev1alpha1 "gitcode.com/openFuyao/compliance-operator/api/v1alpha1"
)
type Parser interface {
Parse(rawOutput string) ([]compliancev1alpha1.UnifiedCheckResult, error)
}
const (
ResultStartMarker = "===COMPLIANCE_RESULT_START==="
ResultEndMarker = "===COMPLIANCE_RESULT_END==="
)
func ExtractBetweenMarkers(content, startMarker, endMarker string) (string, bool) {
startIdx := strings.Index(content, startMarker)
endIdx := strings.Index(content, endMarker)
if startIdx == -1 || endIdx == -1 || endIdx <= startIdx {
return "", false
}
extracted := content[startIdx+len(startMarker):endIdx]
return strings.TrimSpace(extracted), true
}