utils.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package utils
  2. import (
  3. "os"
  4. "strconv"
  5. "strings"
  6. )
  7. //TwoSpotValue returns value from "key:value" line
  8. func TwoSpotValue(line string) string {
  9. return strings.TrimSpace(strings.SplitN(line, ":", 2)[1])
  10. }
  11. //RemoveQuoteMark removes quote marks
  12. func RemoveQuoteMark(line string) string {
  13. return strings.ReplaceAll(strings.ReplaceAll(line, "\"", ""), "'", "")
  14. }
  15. //IntExtractor returns inv value from string represents of int
  16. func IntExtractor(val string) int {
  17. res, err := strconv.Atoi(val)
  18. if err != nil {
  19. return -1
  20. }
  21. return res
  22. }
  23. //RemoveBraces remove braces from line
  24. func RemoveBraces(line string) string {
  25. line = strings.ReplaceAll(strings.ReplaceAll(line, "(", ""), ")", "")
  26. line = strings.ReplaceAll(strings.ReplaceAll(line, "{", ""), "}", "")
  27. line = strings.ReplaceAll(strings.ReplaceAll(line, "[", ""), "]", "")
  28. return line
  29. }
  30. //BoolExtractor extracts bool value from "arg:value" line
  31. func BoolExtractor(val string) bool {
  32. res, err := strconv.ParseBool(val)
  33. if err != nil {
  34. return false
  35. }
  36. return res
  37. }
  38. //DirNamesIfDirs returns subdirectories in directory
  39. func DirNamesIfDirs(dirPath string) ([]string, error) {
  40. dirEntries, err := os.ReadDir(dirPath)
  41. if err != nil {
  42. return nil, err
  43. }
  44. var res []string
  45. for _, entry := range dirEntries {
  46. if entry.IsDir() {
  47. res = append(res, entry.Name())
  48. }
  49. }
  50. return res, nil
  51. }