imp:close: omit file extension from tag value

This commit is contained in:
Simon Michael 2025-01-09 21:26:53 -10:00
parent bde97b8f28
commit 87cc3e1393
2 changed files with 7 additions and 7 deletions

View File

@ -19,7 +19,7 @@ import System.Console.CmdArgs.Explicit as C
import Hledger import Hledger
import Hledger.Cli.CliOptions import Hledger.Cli.CliOptions
import Safe (lastDef, readMay, readDef) import Safe (lastDef, readMay, readDef)
import System.FilePath (takeFileName) import System.FilePath (takeBaseName)
import Data.Char (isDigit) import Data.Char (isDigit)
import Hledger.Read.RulesReader (parseBalanceAssertionType) import Hledger.Read.RulesReader (parseBalanceAssertionType)
import Hledger.Cli.Commands.Print (roundFlag, amountStylesSetRoundingFromRawOpts) import Hledger.Cli.Commands.Print (roundFlag, amountStylesSetRoundingFromRawOpts)
@ -87,12 +87,12 @@ close CliOpts{rawopts_=rawopts, reportspec_=rspec0} j = do
| mode_ == Retain -> "retain:" <> tagval | mode_ == Retain -> "retain:" <> tagval
| otherwise -> "clopen:" <> if null tagval then inferredval else tagval | otherwise -> "clopen:" <> if null tagval then inferredval else tagval
where where
inferredval = newfilename inferredval = newfilebasename
where where
oldfilename = takeFileName $ journalFilePath j oldfilebasename = takeBaseName $ journalFilePath j
(nonnum, rest) = break isDigit $ reverse oldfilename (nonnum, rest) = break isDigit $ reverse oldfilebasename
(oldnum, rest2) = span isDigit rest (oldnum, rest2) = span isDigit rest
newfilename = case oldnum of newfilebasename = case oldnum of
[] -> "" [] -> ""
_ -> reverse rest2 <> newnum <> reverse nonnum _ -> reverse rest2 <> newnum <> reverse nonnum
where where

View File

@ -72,8 +72,8 @@ When migrating to a new file, you'll usually want to bring along the AL or ALE a
but not the RX accounts (Revenue, Expense). but not the RX accounts (Revenue, Expense).
The generated transactions will have a `clopen:` tag. The generated transactions will have a `clopen:` tag.
If the main journal's file name contains a number (eg a year number), If the main journal's base file name contains a number (eg a year number),
the tag's value will be that file name with the number incremented. the tag's value will be that base file name with the number incremented.
Or you can choose the tag value yourself, by using `--clopen=TAGVAL`. Or you can choose the tag value yourself, by using `--clopen=TAGVAL`.
### close --close ### close --close