forked from toolshed/abra
		
	refactor: code style / error handling improvements
This commit is contained in:
		@ -136,7 +136,7 @@ A new catalogue copy can be published to the recipes repository by passing the
 | 
			
		||||
 | 
			
		||||
				isClean, err := gitPkg.IsClean(rm.Name)
 | 
			
		||||
				if err != nil {
 | 
			
		||||
					return
 | 
			
		||||
					logrus.Fatal(err)
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if !isClean {
 | 
			
		||||
@ -175,6 +175,9 @@ A new catalogue copy can be published to the recipes repository by passing the
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			features, category, err := catalogue.GetRecipeFeaturesAndCategory(recipeMeta.Name)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				logrus.Fatal(err)
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			catl[recipeMeta.Name] = catalogue.RecipeMeta{
 | 
			
		||||
				Name:          recipeMeta.Name,
 | 
			
		||||
 | 
			
		||||
@ -374,18 +374,18 @@ func ReadReposMetadata() (RepoCatalogue, error) {
 | 
			
		||||
	return reposMeta, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func GetStringInBetween(str string, start string, end string) (result string) {
 | 
			
		||||
func GetStringInBetween(str, start, end string) (result string, err error) {
 | 
			
		||||
	// GetStringInBetween returns empty string if no start or end string found
 | 
			
		||||
	s := strings.Index(str, start)
 | 
			
		||||
	if s == -1 {
 | 
			
		||||
		return
 | 
			
		||||
		return "", fmt.Errorf("marker string '%s' not found", start)
 | 
			
		||||
	}
 | 
			
		||||
	s += len(start)
 | 
			
		||||
	e := strings.Index(str[s:], end)
 | 
			
		||||
	if e == -1 {
 | 
			
		||||
		return
 | 
			
		||||
		return "", fmt.Errorf("end marker '%s' not found", end)
 | 
			
		||||
	}
 | 
			
		||||
	return str[s : s+e]
 | 
			
		||||
	return str[s : s+e], nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func GetImageMetadata(imageRowString string) (image, error) {
 | 
			
		||||
@ -394,11 +394,11 @@ func GetImageMetadata(imageRowString string) (image, error) {
 | 
			
		||||
	imgFields := strings.Split(imageRowString, ",")
 | 
			
		||||
 | 
			
		||||
	for i, elem := range imgFields {
 | 
			
		||||
			imgFields[i] = strings.TrimSpace(elem)
 | 
			
		||||
		imgFields[i] = strings.TrimSpace(elem)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if len(imgFields) < 3 {
 | 
			
		||||
		logrus.Warnf("Image string has incorrect format: %s", imageRowString)
 | 
			
		||||
		logrus.Warnf("image string has incorrect format: %s", imageRowString)
 | 
			
		||||
		return img, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -407,11 +407,17 @@ func GetImageMetadata(imageRowString string) (image, error) {
 | 
			
		||||
 | 
			
		||||
	imgString := imgFields[0]
 | 
			
		||||
 | 
			
		||||
	img.Image = GetStringInBetween(imgString, "[", "]")
 | 
			
		||||
	img.URL = GetStringInBetween(imgString, "(", ")")
 | 
			
		||||
	imageName, err := GetStringInBetween(imgString, "[", "]")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		logrus.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	img.Image = imageName
 | 
			
		||||
 | 
			
		||||
	logrus.Debugf("Image: %s", img.Image)
 | 
			
		||||
	logrus.Debugf("URL: %s", img.URL)
 | 
			
		||||
	imageURL, err := GetStringInBetween(imgString, "(", ")")
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		logrus.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	img.URL = imageURL
 | 
			
		||||
 | 
			
		||||
	return img, nil
 | 
			
		||||
}
 | 
			
		||||
@ -430,14 +436,19 @@ func GetRecipeFeaturesAndCategory(recipeName string) (features, string, error) {
 | 
			
		||||
		return feat, category, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	readmeLines := strings.Split(  // Array item from lines
 | 
			
		||||
		strings.ReplaceAll(  // Remove \t tabs
 | 
			
		||||
			GetStringInBetween(  // Find text between delimiters
 | 
			
		||||
				string(readmeFS), 
 | 
			
		||||
				"<!-- metadata -->", "<!-- endmetadata -->",
 | 
			
		||||
			), "\t", "",
 | 
			
		||||
		), 
 | 
			
		||||
	"\n")
 | 
			
		||||
	readmeMetadata, err := GetStringInBetween( // Find text between delimiters
 | 
			
		||||
		string(readmeFS),
 | 
			
		||||
		"<!-- metadata -->", "<!-- endmetadata -->",
 | 
			
		||||
	)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		logrus.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	readmeLines := strings.Split( // Array item from lines
 | 
			
		||||
		strings.ReplaceAll( // Remove \t tabs
 | 
			
		||||
			readmeMetadata, "\t", "",
 | 
			
		||||
		),
 | 
			
		||||
		"\n")
 | 
			
		||||
 | 
			
		||||
	for _, val := range readmeLines {
 | 
			
		||||
		if strings.Contains(val, "**Category**") {
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user