From 31c7c5d1ca92d9f4d1ab87360b2591fc31eb8488 Mon Sep 17 00:00:00 2001 From: Stephen Morgan Date: Sat, 26 Mar 2022 11:36:33 +1100 Subject: [PATCH] fix: Clean up build failures due to redundant imports and duplicate function. --- hledger-lib/Hledger/Read.hs | 4 ++-- hledger/Hledger/Cli/Commands/Diff.hs | 11 +++-------- hledger/Hledger/Cli/Commands/Import.hs | 1 - hledger/Hledger/Cli/Utils.hs | 2 +- 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/hledger-lib/Hledger/Read.hs b/hledger-lib/Hledger/Read.hs index 141ed3ce0..e6e66f5c8 100644 --- a/hledger-lib/Hledger/Read.hs +++ b/hledger-lib/Hledger/Read.hs @@ -202,8 +202,8 @@ readJournalFiles' = orDieTrying . readJournalFiles definputopts --- ** utilities -- | Extract ExceptT to the IO monad, failing with an error message if necessary. -orDieTrying :: ExceptT String IO a -> IO a -orDieTrying a = either fail return =<< runExceptT a +orDieTrying :: MonadIO m => ExceptT String m a -> m a +orDieTrying a = either (liftIO . fail) return =<< runExceptT a -- | If the specified journal file does not exist (and is not "-"), -- give a helpful error and quit. diff --git a/hledger/Hledger/Cli/Commands/Diff.hs b/hledger/Hledger/Cli/Commands/Diff.hs index 759bb55f9..3d3212377 100644 --- a/hledger/Hledger/Cli/Commands/Diff.hs +++ b/hledger/Hledger/Cli/Commands/Diff.hs @@ -12,7 +12,6 @@ module Hledger.Cli.Commands.Diff ( ,diff ) where -import Control.Monad.Except (runExceptT) import Data.List.Extra ((\\), groupSortOn, nubBy, sortBy) import Data.Function (on) import Data.Ord (comparing) @@ -20,6 +19,7 @@ import Data.Maybe (fromJust) import Data.Time (diffDays) import Data.Either (partitionEithers) import qualified Data.Text.IO as T +import Lens.Micro (set) import System.Exit (exitFailure) import Hledger @@ -81,11 +81,6 @@ matching ppl ppr = do (left, right) <- combinedBinBy ppamountqty (ppl, ppr) -- TODO: probably not a correct choice of bins greedyMaxMatching $ sortBy (comparing dateCloseness) [ (l,r) | l <- left, r <- right ] -readJournalFile' :: FilePath -> IO Journal -readJournalFile' fn = - runExceptT (readJournalFile definputopts{balancingopts_=defbalancingopts{ignore_assertions_=True}} fn) - >>= either error' return -- PARTIAL: - matchingPostings :: AccountName -> Journal -> [PostingWithPath] matchingPostings acct j = filter ((== acct) . paccount . ppposting) $ allPostingsWithPath j @@ -100,8 +95,8 @@ unmatchedtxns s pp m = -- | The diff command. diff :: CliOpts -> Journal -> IO () diff CliOpts{file_=[f1, f2], reportspec_=ReportSpec{_rsQuery=Acct acctRe}} _ = do - j1 <- readJournalFile' f1 - j2 <- readJournalFile' f2 + j1 <- orDieTrying $ readJournalFile (set ignore_assertions True definputopts) f1 + j2 <- orDieTrying $ readJournalFile (set ignore_assertions True definputopts) f2 let acct = reString acctRe let pp1 = matchingPostings acct j1 diff --git a/hledger/Hledger/Cli/Commands/Import.hs b/hledger/Hledger/Cli/Commands/Import.hs index 996fef701..9ef936f0a 100755 --- a/hledger/Hledger/Cli/Commands/Import.hs +++ b/hledger/Hledger/Cli/Commands/Import.hs @@ -8,7 +8,6 @@ module Hledger.Cli.Commands.Import ( where import Control.Monad -import Control.Monad.Except (runExceptT) import Data.List import qualified Data.Text.IO as T import Hledger diff --git a/hledger/Hledger/Cli/Utils.hs b/hledger/Hledger/Cli/Utils.hs index c7a583b9a..d9f458959 100644 --- a/hledger/Hledger/Cli/Utils.hs +++ b/hledger/Hledger/Cli/Utils.hs @@ -31,7 +31,7 @@ module Hledger.Cli.Utils where import Control.Exception as C -import Control.Monad.Except (ExceptT, runExceptT, liftIO) +import Control.Monad.Except (ExceptT, liftIO) import Data.List import Data.Maybe