;lib: intervalFromRawOpts: replace undefined with an error message
This commit is contained in:
		
							parent
							
								
									030a409dd3
								
							
						
					
					
						commit
						02ed4f5d04
					
				| @ -892,7 +892,11 @@ lastthisnextthing = do | |||||||
| 
 | 
 | ||||||
|   return ("", T.unpack r, T.unpack p) |   return ("", T.unpack r, T.unpack p) | ||||||
| 
 | 
 | ||||||
| -- | | -- | Parse a period expression, specifying a date span and optionally | ||||||
|  | -- a reporting interval. Requires a reference "today" date for | ||||||
|  | -- resolving any relative start/end dates (only; it is not needed for | ||||||
|  | -- parsing the reporting interval). | ||||||
|  | -- | ||||||
| -- >>> let p = parsePeriodExpr (parsedate "2008/11/26") | -- >>> let p = parsePeriodExpr (parsedate "2008/11/26") | ||||||
| -- >>> p "from Aug to Oct" | -- >>> p "from Aug to Oct" | ||||||
| -- Right (NoInterval,DateSpan 2008/08/01-2008/09/30) | -- Right (NoInterval,DateSpan 2008/08/01-2008/09/30) | ||||||
| @ -944,6 +948,7 @@ periodexprp rdate = do | |||||||
|                     (,) NoInterval <$> periodexprdatespanp rdate |                     (,) NoInterval <$> periodexprdatespanp rdate | ||||||
|                    ] |                    ] | ||||||
| 
 | 
 | ||||||
|  | -- Parse a reporting interval and a date span. | ||||||
| intervalanddateperiodexprp :: Day -> TextParser m (Interval, DateSpan) | intervalanddateperiodexprp :: Day -> TextParser m (Interval, DateSpan) | ||||||
| intervalanddateperiodexprp rdate = do | intervalanddateperiodexprp rdate = do | ||||||
|   i <- reportingintervalp |   i <- reportingintervalp | ||||||
|  | |||||||
| @ -296,7 +296,9 @@ intervalFromRawOpts = lastDef NoInterval . catMaybes . map intervalfromrawopt | |||||||
|           either |           either | ||||||
|             (\e -> usageError $ "could not parse period option: "++customErrorBundlePretty e) |             (\e -> usageError $ "could not parse period option: "++customErrorBundlePretty e) | ||||||
|             extractIntervalOrNothing $ |             extractIntervalOrNothing $ | ||||||
|             parsePeriodExpr undefined (stripquotes $ T.pack v) -- reference date does not affect the interval |             parsePeriodExpr | ||||||
|  |               (error' "intervalFromRawOpts: did not expect to need today's date here") -- should not happen; we are just getting the interval, which does not use the reference date | ||||||
|  |               (stripquotes $ T.pack v) | ||||||
|       | 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 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user