parent
0ed9591d1b
commit
593ee39284
@ -274,13 +274,16 @@ endDatesFromRawOpts d = catMaybes . map (enddatefromrawopt d)
|
|||||||
|
|
||||||
-- | Get the report interval, if any, specified by the last of -p/--period,
|
-- | Get the report interval, if any, specified by the last of -p/--period,
|
||||||
-- -D/--daily, -W/--weekly, -M/--monthly etc. options.
|
-- -D/--daily, -W/--weekly, -M/--monthly etc. options.
|
||||||
|
-- An interval from --period counts only if it is explicitly defined.
|
||||||
intervalFromRawOpts :: RawOpts -> Interval
|
intervalFromRawOpts :: RawOpts -> Interval
|
||||||
intervalFromRawOpts = lastDef NoInterval . catMaybes . map intervalfromrawopt
|
intervalFromRawOpts = lastDef NoInterval . catMaybes . map intervalfromrawopt
|
||||||
where
|
where
|
||||||
intervalfromrawopt (n,v)
|
intervalfromrawopt (n,v)
|
||||||
| n == "period" =
|
| n == "period" =
|
||||||
either (\e -> usageError $ "could not parse period option: "++customErrorBundlePretty e) (Just . fst) $
|
either
|
||||||
parsePeriodExpr nulldate (stripquotes $ T.pack v) -- reference date does not affect the interval
|
(\e -> usageError $ "could not parse period option: "++customErrorBundlePretty e)
|
||||||
|
extractIntervalOrNothing $
|
||||||
|
parsePeriodExpr nulldate (stripquotes $ T.pack v) -- reference date does not affect the interval
|
||||||
| n == "daily" = Just $ Days 1
|
| n == "daily" = Just $ Days 1
|
||||||
| n == "weekly" = Just $ Weeks 1
|
| n == "weekly" = Just $ Weeks 1
|
||||||
| n == "monthly" = Just $ Months 1
|
| n == "monthly" = Just $ Months 1
|
||||||
@ -288,6 +291,12 @@ intervalFromRawOpts = lastDef NoInterval . catMaybes . map intervalfromrawopt
|
|||||||
| n == "yearly" = Just $ Years 1
|
| n == "yearly" = Just $ Years 1
|
||||||
| otherwise = Nothing
|
| otherwise = Nothing
|
||||||
|
|
||||||
|
-- | Extract the interval from the parsed -p/--period expression.
|
||||||
|
-- Return Nothing if an interval is not explicitly defined.
|
||||||
|
extractIntervalOrNothing :: (Interval, DateSpan) -> Maybe Interval
|
||||||
|
extractIntervalOrNothing (NoInterval, _) = Nothing
|
||||||
|
extractIntervalOrNothing (interval, _) = Just interval
|
||||||
|
|
||||||
-- | Get any statuses to be matched, as specified by -U/--unmarked,
|
-- | Get any statuses to be matched, as specified by -U/--unmarked,
|
||||||
-- -P/--pending, -C/--cleared flags. -UPC is equivalent to no flags,
|
-- -P/--pending, -C/--cleared flags. -UPC is equivalent to no flags,
|
||||||
-- so this returns a list of 0-2 unique statuses.
|
-- so this returns a list of 0-2 unique statuses.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user