From cbb0fc5c590be277e5f1893906b9cba8077824ce Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Mon, 15 Aug 2011 22:59:06 +0000 Subject: [PATCH] move basic reports into hledger-lib --- hledger-lib/Hledger.hs | 2 ++ hledger-lib/Hledger/Read.hs | 1 + .../Hledger/Cli => hledger-lib/Hledger}/Reports.hs | 9 ++++----- hledger-lib/hledger-lib.cabal | 1 + hledger/Hledger/Cli.hs | 3 --- hledger/Hledger/Cli/Add.hs | 1 - hledger/Hledger/Cli/Balance.hs | 1 - hledger/Hledger/Cli/Convert.hs | 12 +++--------- hledger/Hledger/Cli/Histogram.hs | 2 +- hledger/Hledger/Cli/Options.hs | 5 +---- hledger/Hledger/Cli/Print.hs | 1 - hledger/Hledger/Cli/Register.hs | 1 - hledger/Hledger/Cli/Stats.hs | 3 +-- hledger/Hledger/Cli/Tests.hs | 3 +-- hledger/hledger.cabal | 2 -- 15 files changed, 15 insertions(+), 32 deletions(-) rename {hledger/Hledger/Cli => hledger-lib/Hledger}/Reports.hs (99%) diff --git a/hledger-lib/Hledger.hs b/hledger-lib/Hledger.hs index 7d6e1a81e..6418f5353 100644 --- a/hledger-lib/Hledger.hs +++ b/hledger-lib/Hledger.hs @@ -1,9 +1,11 @@ module Hledger ( module Hledger.Data ,module Hledger.Read + ,module Hledger.Reports ,module Hledger.Utils ) where import Hledger.Data import Hledger.Read +import Hledger.Reports import Hledger.Utils diff --git a/hledger-lib/Hledger/Read.hs b/hledger-lib/Hledger/Read.hs index 97db3e240..07e8fc1bb 100644 --- a/hledger-lib/Hledger/Read.hs +++ b/hledger-lib/Hledger/Read.hs @@ -10,6 +10,7 @@ module Hledger.Read ( readJournalFile, readJournal, journalFromPathAndString, + ledgeraccountname, myJournalPath, myTimelogPath, myJournal, diff --git a/hledger/Hledger/Cli/Reports.hs b/hledger-lib/Hledger/Reports.hs similarity index 99% rename from hledger/Hledger/Cli/Reports.hs rename to hledger-lib/Hledger/Reports.hs index db38a47aa..99b174562 100644 --- a/hledger/Hledger/Cli/Reports.hs +++ b/hledger-lib/Hledger/Reports.hs @@ -9,7 +9,7 @@ on the command-line options, should move to hledger-lib later. -} -module Hledger.Cli.Reports ( +module Hledger.Reports ( ReportOpts(..), DisplayExp, FormatStr, @@ -43,7 +43,7 @@ module Hledger.Cli.Reports ( accountsReport, accountsReport2, -- * Tests - tests_Hledger_Cli_Reports + tests_Hledger_Reports ) where @@ -61,7 +61,6 @@ import Text.Printf import Hledger.Data import Hledger.Utils --- import Hledger.Cli.Utils -- report options, used in hledger-lib and above data ReportOpts = ReportOpts { @@ -550,8 +549,8 @@ isInterestingIndented opts l a ------------------------------------------------------------------------------- -tests_Hledger_Cli_Reports :: Test -tests_Hledger_Cli_Reports = TestList +tests_Hledger_Reports :: Test +tests_Hledger_Reports = TestList [ "summarisePostingsByInterval" ~: do diff --git a/hledger-lib/hledger-lib.cabal b/hledger-lib/hledger-lib.cabal index eb4eebde2..701e03886 100644 --- a/hledger-lib/hledger-lib.cabal +++ b/hledger-lib/hledger-lib.cabal @@ -48,6 +48,7 @@ library Hledger.Read.JournalReader Hledger.Read.TimelogReader Hledger.Read.Utils + Hledger.Reports Hledger.Utils Hledger.Utils.UTF8 Build-Depends: diff --git a/hledger/Hledger/Cli.hs b/hledger/Hledger/Cli.hs index 7cc1acb3b..b7e5c5081 100644 --- a/hledger/Hledger/Cli.hs +++ b/hledger/Hledger/Cli.hs @@ -10,7 +10,6 @@ module Hledger.Cli ( module Hledger.Cli.Histogram, module Hledger.Cli.Print, module Hledger.Cli.Register, - module Hledger.Cli.Reports, module Hledger.Cli.Stats, module Hledger.Cli.Options, module Hledger.Cli.Utils, @@ -31,7 +30,6 @@ import Hledger.Cli.Convert import Hledger.Cli.Histogram import Hledger.Cli.Print import Hledger.Cli.Register -import Hledger.Cli.Reports import Hledger.Cli.Stats import Hledger.Cli.Options import Hledger.Cli.Utils @@ -51,7 +49,6 @@ tests_Hledger_Cli = TestList ,tests_Hledger_Cli_Options -- ,tests_Hledger_Cli_Print ,tests_Hledger_Cli_Register - ,tests_Hledger_Cli_Reports -- ,tests_Hledger_Cli_Stats diff --git a/hledger/Hledger/Cli/Add.hs b/hledger/Hledger/Cli/Add.hs index 82c5fdf05..c2dfaa94d 100644 --- a/hledger/Hledger/Cli/Add.hs +++ b/hledger/Hledger/Cli/Add.hs @@ -34,7 +34,6 @@ import Hledger.Utils.UTF8 (putStr, putStrLn, appendFile) import Hledger.Cli.Options import Hledger.Cli.Register (postingsReportAsText) import Hledger.Cli.Utils -import Hledger.Cli.Reports {- | Information used as the basis for suggested account names, amounts, diff --git a/hledger/Hledger/Cli/Balance.hs b/hledger/Hledger/Cli/Balance.hs index aaa6150b8..230d810af 100644 --- a/hledger/Hledger/Cli/Balance.hs +++ b/hledger/Hledger/Cli/Balance.hs @@ -111,7 +111,6 @@ import Hledger.Utils.UTF8 (putStr) import Hledger.Cli.Format import qualified Hledger.Cli.Format as Format import Hledger.Cli.Options -import Hledger.Cli.Reports -- | Print a balance report. diff --git a/hledger/Hledger/Cli/Convert.hs b/hledger/Hledger/Cli/Convert.hs index fe11cf904..840dfa1b7 100644 --- a/hledger/Hledger/Cli/Convert.hs +++ b/hledger/Hledger/Cli/Convert.hs @@ -4,7 +4,6 @@ format, and print it on stdout. See the manual for more details. -} module Hledger.Cli.Convert where -import Prelude hiding (getContents) import Control.Monad (when, guard, liftM) import Data.Maybe import Data.Time.Format (parseTime) @@ -19,18 +18,13 @@ import Text.CSV (parseCSV, parseCSVFromFile, printCSV, CSV) import Text.ParserCombinators.Parsec import Text.Printf (hPrintf) +import Prelude hiding (getContents) +import Hledger.Utils.UTF8 (getContents) +import Hledger import Hledger.Cli.Format import qualified Hledger.Cli.Format as Format import Hledger.Cli.Version import Hledger.Cli.Options -import Hledger.Cli.Reports -import Hledger.Data.Amount (nullmixedamt, costOfMixedAmount) -import Hledger.Data.Dates (firstJust, showDate, parsedate) -import Hledger.Data (Journal,AccountName,Transaction(..),Posting(..),PostingType(..)) -import Hledger.Data.Journal (nullctx) -import Hledger.Read.JournalReader (someamount,ledgeraccountname) -import Hledger.Utils -import Hledger.Utils.UTF8 (getContents) {- | A set of data definitions and account-matching patterns sufficient to diff --git a/hledger/Hledger/Cli/Histogram.hs b/hledger/Hledger/Cli/Histogram.hs index f4f78ce00..eb0872a67 100644 --- a/hledger/Hledger/Cli/Histogram.hs +++ b/hledger/Hledger/Cli/Histogram.hs @@ -13,8 +13,8 @@ import Data.Ord import Text.Printf import Hledger.Cli.Options -import Hledger.Cli.Reports import Hledger.Data +import Hledger.Reports import Prelude hiding (putStr) import Hledger.Utils.UTF8 (putStr) diff --git a/hledger/Hledger/Cli/Options.hs b/hledger/Hledger/Cli/Options.hs index ea31f6e4c..2453918d6 100644 --- a/hledger/Hledger/Cli/Options.hs +++ b/hledger/Hledger/Cli/Options.hs @@ -20,12 +20,9 @@ import Test.HUnit import Text.Parsec import Text.Printf +import Hledger import Hledger.Cli.Format as Format -import Hledger.Cli.Reports import Hledger.Cli.Version -import Hledger.Data -import Hledger.Read -import Hledger.Utils progname = "hledger" diff --git a/hledger/Hledger/Cli/Print.hs b/hledger/Hledger/Cli/Print.hs index 779cba675..9984f6351 100644 --- a/hledger/Hledger/Cli/Print.hs +++ b/hledger/Hledger/Cli/Print.hs @@ -15,7 +15,6 @@ import Hledger import Prelude hiding (putStr) import Hledger.Utils.UTF8 (putStr) import Hledger.Cli.Options -import Hledger.Cli.Reports -- | Print journal transactions in standard format. print' :: CliOpts -> Journal -> IO () diff --git a/hledger/Hledger/Cli/Register.hs b/hledger/Hledger/Cli/Register.hs index 7acb4ed8f..894fe1f3d 100644 --- a/hledger/Hledger/Cli/Register.hs +++ b/hledger/Hledger/Cli/Register.hs @@ -21,7 +21,6 @@ import Hledger import Prelude hiding (putStr) import Hledger.Utils.UTF8 (putStr) import Hledger.Cli.Options -import Hledger.Cli.Reports -- | Print a (posting) register report. diff --git a/hledger/Hledger/Cli/Stats.hs b/hledger/Hledger/Cli/Stats.hs index adf742581..31526f393 100644 --- a/hledger/Hledger/Cli/Stats.hs +++ b/hledger/Hledger/Cli/Stats.hs @@ -14,9 +14,8 @@ import Data.Time.Calendar import Text.Printf import qualified Data.Map as Map +import Hledger import Hledger.Cli.Options -import Hledger.Cli.Reports -import Hledger.Data import Prelude hiding (putStr) import Hledger.Utils.UTF8 (putStr) diff --git a/hledger/Hledger/Cli/Tests.hs b/hledger/Hledger/Cli/Tests.hs index a2f63550c..074332904 100644 --- a/hledger/Hledger/Cli/Tests.hs +++ b/hledger/Hledger/Cli/Tests.hs @@ -32,9 +32,8 @@ import Control.Monad import System.Exit import Test.HUnit +import Hledger import Hledger.Cli -import Hledger.Data -import Hledger.Utils -- | Run unit tests and exit with success or failure. diff --git a/hledger/hledger.cabal b/hledger/hledger.cabal index 8242b1889..927b10f21 100644 --- a/hledger/hledger.cabal +++ b/hledger/hledger.cabal @@ -54,7 +54,6 @@ library Hledger.Cli.Histogram Hledger.Cli.Print Hledger.Cli.Register - Hledger.Cli.Reports Hledger.Cli.Stats -- should be the same as below build-depends: @@ -102,7 +101,6 @@ executable hledger Hledger.Cli.Histogram Hledger.Cli.Print Hledger.Cli.Register - Hledger.Cli.Reports Hledger.Cli.Stats -- XXX should set patchlevel here as in Makefile cpp-options: -DPATCHLEVEL=0