(s string)
| 96 | } |
| 97 | |
| 98 | func parseHHMM(s string) (int, int, error) { |
| 99 | parts := strings.SplitN(s, ":", 2) |
| 100 | if len(parts) != 2 { |
| 101 | return 0, 0, fmt.Errorf("invalid time %q: expected HH:MM", s) |
| 102 | } |
| 103 | h, err := strconv.Atoi(parts[0]) |
| 104 | if err != nil { |
| 105 | return 0, 0, fmt.Errorf("invalid hour in %q: %w", s, err) |
| 106 | } |
| 107 | m, err := strconv.Atoi(parts[1]) |
| 108 | if err != nil { |
| 109 | return 0, 0, fmt.Errorf("invalid minute in %q: %w", s, err) |
| 110 | } |
| 111 | if h < 0 || h > 23 || m < 0 || m > 59 { |
| 112 | return 0, 0, fmt.Errorf("time %q out of range (00:00-23:59)", s) |
| 113 | } |
| 114 | return h, m, nil |
| 115 | } |
| 116 | |
| 117 | func parseDays(days []string) ([]time.Weekday, error) { |
| 118 | if len(days) == 0 { |
no outgoing calls