summaryrefslogtreecommitdiff
path: root/utils/rhrd-schedules
diff options
context:
space:
mode:
Diffstat (limited to 'utils/rhrd-schedules')
-rwxr-xr-xutils/rhrd-schedules59
1 files changed, 20 insertions, 39 deletions
diff --git a/utils/rhrd-schedules b/utils/rhrd-schedules
index fa52226..2d509a9 100755
--- a/utils/rhrd-schedules
+++ b/utils/rhrd-schedules
@@ -144,45 +144,31 @@ sub show__day
# (W1|W2|W3|W4|ALL)
sub parse_rdweek
{
- my ($dow) = @_;
-
- if(uc($dow) eq "W1") {
- return(1);
- } elsif(uc($dow) eq "W2") {
- return(2);
- } elsif(uc($dow) eq "W3") {
- return(3);
- } elsif(uc($dow) eq "W4") {
- return(4);
- } elsif(uc($dow) eq "ALL") {
- return(1, 2, 3, 4);
+ my ($week) = @_;
+ if(uc($week) eq "ALL") {
+ return (1, 2, 3, 4);
}
- return ();
+ my ($w, undef, $hint) = RHRD::utils::cmdline_rdweek($week);
+ unless(defined($w)) {
+ print "error parsing week: $week, " . $hint . " or ALL\n";
+ return ();
+ }
+ return $w;
}
# (MO|TU|WE|TH|FR|SA|SU|ALL)
sub parse_dow
{
my ($dow) = @_;
-
- if(uc($dow) eq "MO") {
- return(1);
- } elsif(uc($dow) eq "TU") {
- return(2);
- } elsif(uc($dow) eq "WE") {
- return(3);
- } elsif(uc($dow) eq "TH") {
- return(4);
- } elsif(uc($dow) eq "FR") {
- return(5);
- } elsif(uc($dow) eq "SA") {
- return(6);
- } elsif(uc($dow) eq "SU") {
- return(7);
- } elsif(uc($dow) eq "ALL") {
- return(1, 2, 3, 4, 5, 6, 7);
+ if(uc($dow) eq "ALL") {
+ return (1, 2, 3, 4, 5, 6, 7);
}
- return ();
+ my ($d, undef, $hint) = RHRD::utils::cmdline_dow($dow);
+ unless(defined($d)) {
+ print "error parsing day of week: $dow, " . $hint . " or ALL\n";
+ return ();
+ }
+ return $d;
}
sub cmp_dates
@@ -204,15 +190,10 @@ sub gen_dates
my ($week, $dow) = @_;
my @weeks = parse_rdweek($week);
- unless(@weeks) {
- print "error parsing week: $week, must be one of W1, W2, W3, W4, ALL\n";
- return ()
- }
+ return () unless(@weeks);
my @dows = parse_dow($dow);
- unless(@dows) {
- print "error parsing day of week: $dow, must be one of MO, TU, WE, TH, FR, SA, SU, ALL\n";
- return ()
- }
+ return () unless(@dows);
+
my $curweek = RHRD::utils::get_rd_week();
my @today = Date::Calc::Today();