cleanups
This commit is contained in:
parent
60bda57a26
commit
23e3c81acc
@ -71,7 +71,7 @@ instance Show Ledger where
|
||||
(length $ accountnames l)
|
||||
(showtree $ accountnametree l)
|
||||
|
||||
-- | Convert a raw ledger to a more efficient cached type, described above.
|
||||
-- | Convert a journal to a more efficient cached ledger, described above.
|
||||
cacheLedger :: [String] -> Journal -> Ledger
|
||||
cacheLedger apats j = Ledger{journaltext="",journal=j,accountnametree=ant,accountmap=acctmap}
|
||||
where
|
||||
@ -79,11 +79,10 @@ cacheLedger apats j = Ledger{journaltext="",journal=j,accountnametree=ant,accoun
|
||||
acctmap = Map.fromList [(a, mkacct a) | a <- flatten ant]
|
||||
where mkacct a = Account a (psof a) (inclbalof a)
|
||||
|
||||
-- | Given a list of transactions, return an account name tree and three
|
||||
-- query functions that fetch transactions, balance, and
|
||||
-- subaccount-including balance by account name.
|
||||
-- This is to factor out common logic from cacheLedger and
|
||||
-- summarisePostingsInDateSpan.
|
||||
-- | Given a list of postings, return an account name tree and three query
|
||||
-- functions that fetch postings, balance, and subaccount-including
|
||||
-- balance by account name. This factors out common logic from
|
||||
-- cacheLedger and summarisePostingsInDateSpan.
|
||||
groupPostings :: [Posting] -> (Tree AccountName,
|
||||
(AccountName -> [Posting]),
|
||||
(AccountName -> MixedAmount),
|
||||
|
||||
@ -124,17 +124,6 @@ data Journal = Journal {
|
||||
filereadtime :: ClockTime
|
||||
} deriving (Eq)
|
||||
|
||||
-- | A generic, pure specification of how to filter raw ledger transactions.
|
||||
data FilterSpec = FilterSpec {
|
||||
datespan :: DateSpan -- ^ only include transactions in this date span
|
||||
,cleared :: Maybe Bool -- ^ only include if cleared\/uncleared\/don't care
|
||||
,real :: Bool -- ^ only include if real\/don't care
|
||||
,costbasis :: Bool -- ^ convert all amounts to cost basis
|
||||
,acctpats :: [String] -- ^ only include if matching these account patterns
|
||||
,descpats :: [String] -- ^ only include if matching these description patterns
|
||||
,whichdate :: WhichDate -- ^ which dates to use (transaction or effective)
|
||||
}
|
||||
|
||||
data Account = Account {
|
||||
aname :: AccountName,
|
||||
apostings :: [Posting], -- ^ transactions in this account
|
||||
@ -148,3 +137,14 @@ data Ledger = Ledger {
|
||||
accountmap :: Map.Map AccountName Account
|
||||
} deriving Typeable
|
||||
|
||||
-- | A generic, pure specification of how to filter transactions/postings.
|
||||
data FilterSpec = FilterSpec {
|
||||
datespan :: DateSpan -- ^ only include if in this date span
|
||||
,cleared :: Maybe Bool -- ^ only include if cleared\/uncleared\/don't care
|
||||
,real :: Bool -- ^ only include if real\/don't care
|
||||
,costbasis :: Bool -- ^ convert all amounts to cost basis
|
||||
,acctpats :: [String] -- ^ only include if matching these account patterns
|
||||
,descpats :: [String] -- ^ only include if matching these description patterns
|
||||
,whichdate :: WhichDate -- ^ which dates to use (actual or effective)
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user