mirror of
https://github.com/simonmichael/hledger.git
synced 2024-09-20 02:37:12 +03:00
check: drop old checkdates/checkdupes commands, consolidate
This commit is contained in:
parent
a6ec7bcc11
commit
1d4c4c5b8b
@ -25,8 +25,6 @@ module Hledger.Cli.Commands (
|
||||
,module Hledger.Cli.Commands.Balancesheet
|
||||
,module Hledger.Cli.Commands.Balancesheetequity
|
||||
,module Hledger.Cli.Commands.Cashflow
|
||||
,module Hledger.Cli.Commands.Checkdates
|
||||
,module Hledger.Cli.Commands.Checkdupes
|
||||
,module Hledger.Cli.Commands.Close
|
||||
,module Hledger.Cli.Commands.Codes
|
||||
,module Hledger.Cli.Commands.Commodities
|
||||
@ -73,8 +71,6 @@ import Hledger.Cli.Commands.Balancesheet
|
||||
import Hledger.Cli.Commands.Balancesheetequity
|
||||
import Hledger.Cli.Commands.Cashflow
|
||||
import Hledger.Cli.Commands.Check
|
||||
import Hledger.Cli.Commands.Checkdates
|
||||
import Hledger.Cli.Commands.Checkdupes
|
||||
import Hledger.Cli.Commands.Close
|
||||
import Hledger.Cli.Commands.Codes
|
||||
import Hledger.Cli.Commands.Commodities
|
||||
@ -111,8 +107,6 @@ builtinCommands = [
|
||||
,(balancesheetmode , balancesheet)
|
||||
,(cashflowmode , cashflow)
|
||||
,(checkmode , check)
|
||||
,(checkdatesmode , checkdates)
|
||||
,(checkdupesmode , checkdupes)
|
||||
,(closemode , close)
|
||||
,(codesmode , codes)
|
||||
,(commoditiesmode , commodities)
|
||||
|
@ -11,8 +11,8 @@ module Hledger.Cli.Commands.Check (
|
||||
|
||||
import Hledger
|
||||
import Hledger.Cli.CliOptions
|
||||
import Hledger.Cli.Commands.Checkdupes (checkdupes)
|
||||
import Hledger.Cli.Commands.Checkdates (checkdates)
|
||||
import Hledger.Cli.Commands.Check.Ordereddates (journalCheckOrdereddates)
|
||||
import Hledger.Cli.Commands.Check.Uniqueleafnames (journalCheckUniqueleafnames)
|
||||
import System.Console.CmdArgs.Explicit
|
||||
import Data.Either (partitionEithers)
|
||||
import Data.Char (toUpper)
|
||||
@ -82,11 +82,11 @@ runCheck copts@CliOpts{rawopts_} j (check,args) =
|
||||
Commodities -> case journalCheckCommoditiesDeclared j of
|
||||
Right () -> return ()
|
||||
Left err -> hPutStrLn stderr ("Error: "++err) >> exitFailure
|
||||
Ordereddates -> checkdates copts' j
|
||||
Ordereddates -> journalCheckOrdereddates copts' j
|
||||
Payees -> case journalCheckPayeesDeclared j of
|
||||
Right () -> return ()
|
||||
Left err -> hPutStrLn stderr ("Error: "++err) >> exitFailure
|
||||
Uniqueleafnames -> checkdupes copts' j
|
||||
Uniqueleafnames -> journalCheckUniqueleafnames j
|
||||
where
|
||||
-- Hack: append the provided args to the raw opts,
|
||||
-- in case the check can use them (like checkdates --unique).
|
||||
|
@ -1,31 +1,18 @@
|
||||
{-# LANGUAGE NoOverloadedStrings #-} -- prevent trouble if turned on in ghci
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Hledger.Cli.Commands.Checkdates (
|
||||
checkdatesmode
|
||||
,checkdates
|
||||
) where
|
||||
module Hledger.Cli.Commands.Check.Ordereddates (
|
||||
journalCheckOrdereddates
|
||||
)
|
||||
where
|
||||
|
||||
import Hledger
|
||||
import Hledger.Cli.CliOptions
|
||||
import System.Console.CmdArgs.Explicit
|
||||
import System.Exit
|
||||
import Text.Printf
|
||||
|
||||
checkdatesmode :: Mode RawOpts
|
||||
checkdatesmode = hledgerCommandMode
|
||||
$(embedFileRelative "Hledger/Cli/Commands/Checkdates.txt")
|
||||
[flagNone ["unique"] (setboolopt "unique") "require that dates are unique"]
|
||||
[generalflagsgroup1]
|
||||
hiddenflags
|
||||
([], Just $ argsFlag "[QUERY]")
|
||||
|
||||
checkdates :: CliOpts -> Journal -> IO ()
|
||||
checkdates CliOpts{rawopts_=rawopts,reportspec_=rspec} j = do
|
||||
journalCheckOrdereddates :: CliOpts -> Journal -> IO ()
|
||||
journalCheckOrdereddates CliOpts{rawopts_=rawopts,reportspec_=rspec} j = do
|
||||
let ropts = (rsOpts rspec){accountlistmode_=ALFlat}
|
||||
let ts = filter (rsQuery rspec `matchesTransaction`) $
|
||||
jtxns $ journalSelectingAmountFromOpts ropts j
|
||||
-- pprint rawopts
|
||||
let unique = boolopt "--unique" rawopts -- TEMP: it's this for hledger check dates
|
||||
|| boolopt "unique" rawopts -- and this for hledger check-dates (for some reason)
|
||||
let date = transactionDateFn ropts
|
@ -1,8 +1,5 @@
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Hledger.Cli.Commands.Checkdupes (
|
||||
checkdupesmode
|
||||
,checkdupes
|
||||
module Hledger.Cli.Commands.Check.Uniqueleafnames (
|
||||
journalCheckUniqueleafnames
|
||||
)
|
||||
where
|
||||
|
||||
@ -11,21 +8,11 @@ import Data.List
|
||||
import Data.List.Extra (nubSort)
|
||||
import qualified Data.Text as T
|
||||
import Hledger
|
||||
import Hledger.Cli.CliOptions
|
||||
import System.Console.CmdArgs.Explicit
|
||||
import Text.Printf
|
||||
import System.Exit (exitFailure)
|
||||
import Control.Monad (when)
|
||||
|
||||
checkdupesmode :: Mode RawOpts
|
||||
checkdupesmode = hledgerCommandMode
|
||||
$(embedFileRelative "Hledger/Cli/Commands/Checkdupes.txt")
|
||||
[]
|
||||
[generalflagsgroup1]
|
||||
hiddenflags
|
||||
([], Nothing)
|
||||
|
||||
checkdupes _opts j = do
|
||||
journalCheckUniqueleafnames j = do
|
||||
let dupes = checkdupes' $ accountsNames j
|
||||
when (not $ null dupes) $ do
|
||||
-- XXX make output more like Checkdates.hs, Check.hs etc.
|
@ -1,8 +0,0 @@
|
||||
check-dates\
|
||||
Check that transactions are sorted by increasing date.
|
||||
With --date2, checks secondary dates instead.
|
||||
With --strict, dates must also be unique.
|
||||
With a query, only matched transactions' dates are checked.
|
||||
Reads the default journal file, or another specified with -f.
|
||||
|
||||
_FLAGS
|
@ -1,7 +0,0 @@
|
||||
check-dates
|
||||
Check that transactions are sorted by increasing date. With --date2,
|
||||
checks secondary dates instead. With --strict, dates must also be
|
||||
unique. With a query, only matched transactions' dates are checked.
|
||||
Reads the default journal file, or another specified with -f.
|
||||
|
||||
_FLAGS
|
@ -1,8 +0,0 @@
|
||||
check-dupes\
|
||||
Reports account names having the same leaf but different prefixes.
|
||||
In other words, two or more leaves that are categorized differently.
|
||||
Reads the default journal file, or another specified as an argument.
|
||||
|
||||
_FLAGS
|
||||
|
||||
An example: <http://stefanorodighiero.net/software/hledger-dupes.html>
|
@ -1,8 +0,0 @@
|
||||
check-dupes
|
||||
Reports account names having the same leaf but different prefixes. In
|
||||
other words, two or more leaves that are categorized differently. Reads
|
||||
the default journal file, or another specified as an argument.
|
||||
|
||||
_FLAGS
|
||||
|
||||
An example: http://stefanorodighiero.net/software/hledger-dupes.html
|
@ -49,8 +49,6 @@ extra-source-files:
|
||||
- Hledger/Cli/Commands/Balancesheetequity.txt
|
||||
- Hledger/Cli/Commands/Cashflow.txt
|
||||
- Hledger/Cli/Commands/Check.txt
|
||||
- Hledger/Cli/Commands/Checkdates.txt
|
||||
- Hledger/Cli/Commands/Checkdupes.txt
|
||||
- Hledger/Cli/Commands/Close.txt
|
||||
- Hledger/Cli/Commands/Codes.txt
|
||||
- Hledger/Cli/Commands/Commodities.txt
|
||||
@ -157,8 +155,8 @@ library:
|
||||
- Hledger.Cli.Commands.Balancesheetequity
|
||||
- Hledger.Cli.Commands.Cashflow
|
||||
- Hledger.Cli.Commands.Check
|
||||
- Hledger.Cli.Commands.Checkdates
|
||||
- Hledger.Cli.Commands.Checkdupes
|
||||
- Hledger.Cli.Commands.Check.Ordereddates
|
||||
- Hledger.Cli.Commands.Check.Uniqueleafnames
|
||||
- Hledger.Cli.Commands.Close
|
||||
- Hledger.Cli.Commands.Codes
|
||||
- Hledger.Cli.Commands.Commodities
|
||||
|
@ -14,4 +14,8 @@ $ hledger -f- check ordereddates
|
||||
$ hledger -f- check ordereddates
|
||||
> /transaction date is out of order/
|
||||
>=1
|
||||
# XXX make it >2
|
||||
# XXX
|
||||
# make it >2
|
||||
# With --date2, it checks secondary dates instead.
|
||||
# With --strict, dates must also be unique.
|
||||
# With a query, only matched transactions' dates are checked.
|
||||
|
@ -13,4 +13,9 @@ $ hledger -f- check uniqueleafnames
|
||||
$ hledger -f- check uniqueleafnames
|
||||
> /a as a, b:a/
|
||||
>=1
|
||||
# XXX make it >2; improve message
|
||||
# XXX
|
||||
# make it >2; improve message
|
||||
# Reports account names having the same leaf but different prefixes.
|
||||
# In other words, two or more leaves that are categorized differently.
|
||||
# Reads the default journal file, or another specified as an argument.
|
||||
# An example: <http://stefanorodighiero.net/software/hledger-dupes.html>
|
||||
|
Loading…
Reference in New Issue
Block a user