refactor
This commit is contained in:
		
							parent
							
								
									f1813fbb0e
								
							
						
					
					
						commit
						8405072ff6
					
				@ -29,16 +29,16 @@ instance Show Journal where
 | 
			
		||||
             -- ++ (show $ journalTransactions l)
 | 
			
		||||
             where accounts = flatten $ journalAccountNameTree l
 | 
			
		||||
 | 
			
		||||
journalEmpty :: Journal
 | 
			
		||||
journalEmpty = Journal { jmodifiertxns = []
 | 
			
		||||
                           , jperiodictxns = []
 | 
			
		||||
                           , jtxns = []
 | 
			
		||||
                           , open_timelog_entries = []
 | 
			
		||||
                           , historical_prices = []
 | 
			
		||||
                           , final_comment_lines = []
 | 
			
		||||
                           , filepath = ""
 | 
			
		||||
                           , filereadtime = TOD 0 0
 | 
			
		||||
                           }
 | 
			
		||||
nulljournal :: Journal
 | 
			
		||||
nulljournal = Journal { jmodifiertxns = []
 | 
			
		||||
                      , jperiodictxns = []
 | 
			
		||||
                      , jtxns = []
 | 
			
		||||
                      , open_timelog_entries = []
 | 
			
		||||
                      , historical_prices = []
 | 
			
		||||
                      , final_comment_lines = []
 | 
			
		||||
                      , filepath = ""
 | 
			
		||||
                      , filereadtime = TOD 0 0
 | 
			
		||||
                      }
 | 
			
		||||
 | 
			
		||||
addTransaction :: Transaction -> Journal -> Journal
 | 
			
		||||
addTransaction t l0 = l0 { jtxns = t : jtxns l0 }
 | 
			
		||||
 | 
			
		||||
@ -73,7 +73,7 @@ parseLedgerFile t f   = liftIO (readFile f) >>= parseLedger t f
 | 
			
		||||
parseLedger :: LocalTime -> FilePath -> String -> ErrorT String IO Journal
 | 
			
		||||
parseLedger reftime inname intxt =
 | 
			
		||||
  case runParser ledgerFile emptyCtx inname intxt of
 | 
			
		||||
    Right m  -> liftM (journalConvertTimeLog reftime) $ m `ap` return journalEmpty
 | 
			
		||||
    Right m  -> liftM (journalConvertTimeLog reftime) $ m `ap` return nulljournal
 | 
			
		||||
    Left err -> throwError $ show err
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										2
									
								
								Utils.hs
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Utils.hs
									
									
									
									
									
								
							@ -34,7 +34,7 @@ withLedgerDo opts args cmdname cmd = do
 | 
			
		||||
  t <- getCurrentLocalTime
 | 
			
		||||
  tc <- getClockTime
 | 
			
		||||
  let go = cmd opts args . filterAndCacheLedgerWithOpts opts args t rawtext . (\rl -> rl{filepath=f,filereadtime=tc})
 | 
			
		||||
  if creating then go journalEmpty else (runErrorT . parseLedgerFile t) f
 | 
			
		||||
  if creating then go nulljournal else (runErrorT . parseLedgerFile t) f
 | 
			
		||||
         >>= flip either go
 | 
			
		||||
                 (\e -> hPutStrLn stderr e >> exitWith (ExitFailure 1))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user