convert: more useful --debug output, show csv record
This commit is contained in:
		
							parent
							
								
									b197693197
								
							
						
					
					
						commit
						43e327d05b
					
				@ -10,8 +10,8 @@ import Data.List.Split (splitOn)
 | 
				
			|||||||
import Options -- (Opt,Debug)
 | 
					import Options -- (Opt,Debug)
 | 
				
			||||||
import Ledger.Types (Ledger,AccountName)
 | 
					import Ledger.Types (Ledger,AccountName)
 | 
				
			||||||
import Ledger.Utils (strip)
 | 
					import Ledger.Utils (strip)
 | 
				
			||||||
import System.IO (stderr, hPutStrLn)
 | 
					import System.IO (stderr, hPutStr)
 | 
				
			||||||
import Text.CSV (parseCSVFromFile)
 | 
					import Text.CSV (parseCSVFromFile, printCSV)
 | 
				
			||||||
import Text.Printf (printf)
 | 
					import Text.Printf (printf)
 | 
				
			||||||
import Text.RegexPR (matchRegexPR)
 | 
					import Text.RegexPR (matchRegexPR)
 | 
				
			||||||
import Data.Maybe
 | 
					import Data.Maybe
 | 
				
			||||||
@ -60,7 +60,7 @@ print_ledger_txn debug (baseacct,fieldpositions,rules) csvrecord
 | 
				
			|||||||
    | length csvrecord < maximum (map (fromMaybe 0) fieldpositions) + 1 = return ()
 | 
					    | length csvrecord < maximum (map (fromMaybe 0) fieldpositions) + 1 = return ()
 | 
				
			||||||
    | otherwise =
 | 
					    | otherwise =
 | 
				
			||||||
 do
 | 
					 do
 | 
				
			||||||
  when debug $ hPutStrLn stderr $ show csvrecord
 | 
					  when debug $ hPutStr stderr $ printCSV [csvrecord]
 | 
				
			||||||
  let date = maybe "" (csvrecord !!) (fieldpositions !! 0)
 | 
					  let date = maybe "" (csvrecord !!) (fieldpositions !! 0)
 | 
				
			||||||
      number = maybe "" (csvrecord !!) (fieldpositions !! 1)
 | 
					      number = maybe "" (csvrecord !!) (fieldpositions !! 1)
 | 
				
			||||||
      description = maybe "" (csvrecord !!) (fieldpositions !! 2)
 | 
					      description = maybe "" (csvrecord !!) (fieldpositions !! 2)
 | 
				
			||||||
@ -70,7 +70,6 @@ print_ledger_txn debug (baseacct,fieldpositions,rules) csvrecord
 | 
				
			|||||||
      unknownacct | (readDef 0 amount' :: Double) < 0 = "income:unknown"
 | 
					      unknownacct | (readDef 0 amount' :: Double) < 0 = "income:unknown"
 | 
				
			||||||
                  | otherwise = "expenses:unknown"
 | 
					                  | otherwise = "expenses:unknown"
 | 
				
			||||||
      (acct,desc) = choose_acct_desc rules (unknownacct,description)
 | 
					      (acct,desc) = choose_acct_desc rules (unknownacct,description)
 | 
				
			||||||
  when debug $ hPutStrLn stderr $ printf "using %s for %s" desc description
 | 
					 | 
				
			||||||
  printf "%s%s %s\n" (fixdate date) (if not (null number) then printf " (%s)" number else "") desc
 | 
					  printf "%s%s %s\n" (fixdate date) (if not (null number) then printf " (%s)" number else "") desc
 | 
				
			||||||
  printf "    %-30s  %15s\n" acct (printf "$%s" amount' :: String)
 | 
					  printf "    %-30s  %15s\n" acct (printf "$%s" amount' :: String)
 | 
				
			||||||
  printf "    %s\n\n" baseacct
 | 
					  printf "    %s\n\n" baseacct
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user