make --rules-file work again
This commit is contained in:
parent
70572eb837
commit
ed1ea545f5
@ -124,7 +124,7 @@ generalflags3 = helpflags
|
||||
|
||||
fileflags = [
|
||||
flagReq ["file","f"] (\s opts -> Right $ setopt "file" s opts) "FILE" "use a different journal file; - means stdin"
|
||||
,flagReq ["rules-file"] (\s opts -> Right $ setopt "rules-file" s opts) "FILE" "conversion rules file for CSV (default: FILE.rules)"
|
||||
,flagReq ["rules-file"] (\s opts -> Right $ setopt "rules-file" s opts) "RULESFILE" "conversion rules for CSV (default: FILE.rules)"
|
||||
,flagReq ["alias"] (\s opts -> Right $ setopt "alias" s opts) "ACCT=ALIAS" "display ACCT's name as ALIAS in reports"
|
||||
]
|
||||
|
||||
@ -466,6 +466,16 @@ journalFilePathFromOpts opts = do
|
||||
then error' $ printf "~ in the journal file path is not supported, please adjust (%s)" f'
|
||||
else return f'
|
||||
|
||||
-- | Get the rules file path from options, if any.
|
||||
-- If the path contains a literal tilde raise an error to avoid confusion. XXX
|
||||
rulesFilePathFromOpts :: CliOpts -> Maybe FilePath
|
||||
rulesFilePathFromOpts opts =
|
||||
case rules_file_ opts of
|
||||
Nothing -> Nothing
|
||||
Just f -> if '~' `elem` f
|
||||
then error' $ printf "~ in file paths is not supported, please adjust (%s)" f
|
||||
else Just f
|
||||
|
||||
aliasesFromOpts :: CliOpts -> [(AccountName,AccountName)]
|
||||
aliasesFromOpts = map parseAlias . alias_
|
||||
where
|
||||
|
||||
@ -48,7 +48,7 @@ withJournalDo opts cmd = do
|
||||
-- We kludgily read the file before parsing to grab the full text, unless
|
||||
-- it's stdin, or it doesn't exist and we are adding. We read it strictly
|
||||
-- to let the add command work.
|
||||
journalFilePathFromOpts opts >>= readJournalFile Nothing Nothing >>=
|
||||
journalFilePathFromOpts opts >>= readJournalFile Nothing (rulesFilePathFromOpts opts) >>=
|
||||
either error' (cmd opts . journalApplyAliases (aliasesFromOpts opts))
|
||||
|
||||
-- -- | Get a journal from the given string and options, or throw an error.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user