csv, journal: debug output
The prolific "assignment" output is now at level 9.
This commit is contained in:
parent
a97daaf322
commit
f43c7e41d1
@ -984,12 +984,10 @@ journalCommodityStyles j =
|
|||||||
journalInferCommodityStyles :: Journal -> Either String Journal
|
journalInferCommodityStyles :: Journal -> Either String Journal
|
||||||
journalInferCommodityStyles j =
|
journalInferCommodityStyles j =
|
||||||
case
|
case
|
||||||
commodityStylesFromAmounts $
|
commodityStylesFromAmounts $ journalStyleInfluencingAmounts j
|
||||||
dbg7 "journalInferCommodityStyles using amounts" $
|
|
||||||
journalStyleInfluencingAmounts j
|
|
||||||
of
|
of
|
||||||
Left e -> Left e
|
Left e -> Left e
|
||||||
Right cs -> Right j{jinferredcommodities = cs}
|
Right cs -> Right j{jinferredcommodities = dbg7 "journalInferCommodityStyles" cs}
|
||||||
|
|
||||||
-- | Given a list of amounts, in parse order (roughly speaking; see journalStyleInfluencingAmounts),
|
-- | Given a list of amounts, in parse order (roughly speaking; see journalStyleInfluencingAmounts),
|
||||||
-- build a map from their commodity names to standard commodity
|
-- build a map from their commodity names to standard commodity
|
||||||
@ -1119,7 +1117,9 @@ journalToCost j@Journal{jtxns=ts} = j{jtxns=map (transactionToCost styles) ts}
|
|||||||
-- Transaction price amounts (posting amounts' aprice field) are not included.
|
-- Transaction price amounts (posting amounts' aprice field) are not included.
|
||||||
--
|
--
|
||||||
journalStyleInfluencingAmounts :: Journal -> [Amount]
|
journalStyleInfluencingAmounts :: Journal -> [Amount]
|
||||||
journalStyleInfluencingAmounts j = catMaybes $ concat [
|
journalStyleInfluencingAmounts j =
|
||||||
|
dbg7 "journalStyleInfluencingAmounts" $
|
||||||
|
catMaybes $ concat [
|
||||||
[mdefaultcommodityamt]
|
[mdefaultcommodityamt]
|
||||||
,map (Just . pdamount) $ jpricedirectives j
|
,map (Just . pdamount) $ jpricedirectives j
|
||||||
,map Just $ concatMap amounts $ map pamount $ journalPostings j
|
,map Just $ concatMap amounts $ map pamount $ journalPostings j
|
||||||
|
|||||||
@ -712,7 +712,7 @@ readJournalFromCsv mrulesfile csvfile csvdata =
|
|||||||
else
|
else
|
||||||
return $ defaultRulesText rulesfile
|
return $ defaultRulesText rulesfile
|
||||||
rules <- either throwerr return $ parseAndValidateCsvRules rulesfile rulestext
|
rules <- either throwerr return $ parseAndValidateCsvRules rulesfile rulestext
|
||||||
dbg6IO "rules" rules
|
dbg6IO "csv rules" rules
|
||||||
|
|
||||||
-- parse the skip directive's value, if any
|
-- parse the skip directive's value, if any
|
||||||
let skiplines = case getDirective "skip" rules of
|
let skiplines = case getDirective "skip" rules of
|
||||||
@ -745,7 +745,7 @@ readJournalFromCsv mrulesfile csvfile csvdata =
|
|||||||
|
|
||||||
let
|
let
|
||||||
-- convert CSV records to transactions
|
-- convert CSV records to transactions
|
||||||
txns = snd $ mapAccumL
|
txns = dbg7 "csv txns" $ snd $ mapAccumL
|
||||||
(\pos r ->
|
(\pos r ->
|
||||||
let
|
let
|
||||||
SourcePos name line col = pos
|
SourcePos name line col = pos
|
||||||
@ -762,7 +762,9 @@ readJournalFromCsv mrulesfile csvfile csvdata =
|
|||||||
-- than one date and the first date is more recent than the last):
|
-- than one date and the first date is more recent than the last):
|
||||||
-- reverse them to get same-date transactions ordered chronologically.
|
-- reverse them to get same-date transactions ordered chronologically.
|
||||||
txns' =
|
txns' =
|
||||||
(if newestfirst || mdataseemsnewestfirst == Just True then reverse else id) txns
|
(if newestfirst || mdataseemsnewestfirst == Just True
|
||||||
|
then dbg7 "reversed csv txns" . reverse else id)
|
||||||
|
txns
|
||||||
where
|
where
|
||||||
newestfirst = dbg6 "newestfirst" $ isJust $ getDirective "newest-first" rules
|
newestfirst = dbg6 "newestfirst" $ isJust $ getDirective "newest-first" rules
|
||||||
mdataseemsnewestfirst = dbg6 "mdataseemsnewestfirst" $
|
mdataseemsnewestfirst = dbg6 "mdataseemsnewestfirst" $
|
||||||
@ -770,7 +772,7 @@ readJournalFromCsv mrulesfile csvfile csvdata =
|
|||||||
ds | length ds > 1 -> Just $ head ds > last ds
|
ds | length ds > 1 -> Just $ head ds > last ds
|
||||||
_ -> Nothing
|
_ -> Nothing
|
||||||
-- Second, sort by date.
|
-- Second, sort by date.
|
||||||
txns'' = sortBy (comparing tdate) txns'
|
txns'' = dbg7 "date-sorted csv txns" $ sortBy (comparing tdate) txns'
|
||||||
|
|
||||||
when (not rulesfileexists) $ do
|
when (not rulesfileexists) $ do
|
||||||
dbg1IO "creating conversion rules file" rulesfile
|
dbg1IO "creating conversion rules file" rulesfile
|
||||||
@ -1190,7 +1192,7 @@ getEffectiveAssignment :: CsvRules -> CsvRecord -> HledgerFieldName -> Maybe Fie
|
|||||||
getEffectiveAssignment rules record f = lastMay $ map snd $ assignments
|
getEffectiveAssignment rules record f = lastMay $ map snd $ assignments
|
||||||
where
|
where
|
||||||
-- all active assignments to field f, in order
|
-- all active assignments to field f, in order
|
||||||
assignments = dbg7 "assignments" $ filter ((==f).fst) $ toplevelassignments ++ conditionalassignments
|
assignments = dbg9 "csv assignments" $ filter ((==f).fst) $ toplevelassignments ++ conditionalassignments
|
||||||
where
|
where
|
||||||
-- all top level field assignments
|
-- all top level field assignments
|
||||||
toplevelassignments = rassignments rules
|
toplevelassignments = rassignments rules
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user