imp: Hledger.Read.CsvUtils -> Write.Csv

This commit is contained in:
Henning Thielemann 2024-07-22 10:45:15 +02:00
parent bafe70efb4
commit 14b5a1f82a
9 changed files with 11 additions and 11 deletions

View File

@ -77,7 +77,7 @@ import Text.Printf (printf)
import Hledger.Data import Hledger.Data
import Hledger.Utils import Hledger.Utils
import Hledger.Read.Common (aliasesFromOpts, Reader(..), InputOpts(..), amountp, statusp, journalFinalise, accountnamep, commenttagsp ) import Hledger.Read.Common (aliasesFromOpts, Reader(..), InputOpts(..), amountp, statusp, journalFinalise, accountnamep, commenttagsp )
import Hledger.Read.CsvUtils import Hledger.Write.Csv
import System.Directory (doesFileExist, getHomeDirectory) import System.Directory (doesFileExist, getHomeDirectory)
import Data.Either (fromRight) import Data.Either (fromRight)

View File

@ -10,7 +10,7 @@ CSV utilities.
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE OverloadedStrings #-}
--- ** exports --- ** exports
module Hledger.Read.CsvUtils ( module Hledger.Write.Csv (
CSV, CsvRecord, CsvValue, CSV, CsvRecord, CsvValue,
printCSV, printCSV,
printTSV, printTSV,
@ -37,12 +37,12 @@ type CSV = [CsvRecord]
type CsvRecord = [CsvValue] type CsvRecord = [CsvValue]
type CsvValue = Text type CsvValue = Text
printCSV :: [CsvRecord] -> TL.Text printCSV :: CSV -> TL.Text
printCSV = TB.toLazyText . unlinesB . map printRecord printCSV = TB.toLazyText . unlinesB . map printRecord
where printRecord = foldMap TB.fromText . intersperse "," . map printField where printRecord = foldMap TB.fromText . intersperse "," . map printField
printField = wrap "\"" "\"" . T.replace "\"" "\"\"" printField = wrap "\"" "\"" . T.replace "\"" "\"\""
printTSV :: [CsvRecord] -> TL.Text printTSV :: CSV -> TL.Text
printTSV = TB.toLazyText . unlinesB . map printRecord printTSV = TB.toLazyText . unlinesB . map printRecord
where printRecord = foldMap TB.fromText . intersperse "\t" . map printField where printRecord = foldMap TB.fromText . intersperse "\t" . map printField
printField = T.map replaceWhitespace printField = T.map replaceWhitespace

View File

@ -80,12 +80,12 @@ library
Hledger.Read Hledger.Read
Hledger.Read.Common Hledger.Read.Common
Hledger.Read.CsvReader Hledger.Read.CsvReader
Hledger.Read.CsvUtils
Hledger.Read.InputOptions Hledger.Read.InputOptions
Hledger.Read.JournalReader Hledger.Read.JournalReader
Hledger.Read.RulesReader Hledger.Read.RulesReader
Hledger.Read.TimedotReader Hledger.Read.TimedotReader
Hledger.Read.TimeclockReader Hledger.Read.TimeclockReader
Hledger.Write.Csv
Hledger.Reports Hledger.Reports
Hledger.Reports.ReportOptions Hledger.Reports.ReportOptions
Hledger.Reports.ReportTypes Hledger.Reports.ReportTypes

View File

@ -142,13 +142,13 @@ library:
- Hledger.Read - Hledger.Read
- Hledger.Read.Common - Hledger.Read.Common
- Hledger.Read.CsvReader - Hledger.Read.CsvReader
- Hledger.Read.CsvUtils
- Hledger.Read.InputOptions - Hledger.Read.InputOptions
- Hledger.Read.JournalReader - Hledger.Read.JournalReader
- Hledger.Read.RulesReader - Hledger.Read.RulesReader
# - Hledger.Read.LedgerReader # - Hledger.Read.LedgerReader
- Hledger.Read.TimedotReader - Hledger.Read.TimedotReader
- Hledger.Read.TimeclockReader - Hledger.Read.TimeclockReader
- Hledger.Write.Csv
- Hledger.Reports - Hledger.Reports
- Hledger.Reports.ReportOptions - Hledger.Reports.ReportOptions
- Hledger.Reports.ReportTypes - Hledger.Reports.ReportTypes

View File

@ -29,7 +29,7 @@ import Lucid as L hiding (value_)
import System.Console.CmdArgs.Explicit (flagNone, flagReq) import System.Console.CmdArgs.Explicit (flagNone, flagReq)
import Hledger import Hledger
import Hledger.Read.CsvUtils (CSV, CsvRecord, printCSV, printTSV) import Hledger.Write.Csv (CSV, CsvRecord, printCSV, printTSV)
import Hledger.Cli.CliOptions import Hledger.Cli.CliOptions
import Hledger.Cli.Utils import Hledger.Cli.Utils
import Text.Tabular.AsciiWide hiding (render) import Text.Tabular.AsciiWide hiding (render)

View File

@ -299,7 +299,7 @@ import Text.Tabular.AsciiWide
import Hledger import Hledger
import Hledger.Cli.CliOptions import Hledger.Cli.CliOptions
import Hledger.Cli.Utils import Hledger.Cli.Utils
import Hledger.Read.CsvUtils (CSV, printCSV, printTSV) import Hledger.Write.Csv (CSV, printCSV, printTSV)
-- | Command line options for this command. -- | Command line options for this command.

View File

@ -27,7 +27,7 @@ import Lens.Micro ((^.), _Just, has)
import System.Console.CmdArgs.Explicit import System.Console.CmdArgs.Explicit
import Hledger import Hledger
import Hledger.Read.CsvUtils (CSV, printCSV, printTSV) import Hledger.Write.Csv (CSV, printCSV, printTSV)
import Hledger.Cli.CliOptions import Hledger.Cli.CliOptions
import Hledger.Cli.Utils import Hledger.Cli.Utils
import System.Exit (exitFailure) import System.Exit (exitFailure)

View File

@ -27,7 +27,7 @@ import qualified Data.Text.Lazy.Builder as TB
import System.Console.CmdArgs.Explicit (flagNone, flagReq) import System.Console.CmdArgs.Explicit (flagNone, flagReq)
import Hledger hiding (per) import Hledger hiding (per)
import Hledger.Read.CsvUtils (CSV, CsvRecord, printCSV, printTSV) import Hledger.Write.Csv (CSV, CsvRecord, printCSV, printTSV)
import Hledger.Cli.CliOptions import Hledger.Cli.CliOptions
import Hledger.Cli.Utils import Hledger.Cli.Utils
import Text.Tabular.AsciiWide hiding (render) import Text.Tabular.AsciiWide hiding (render)

View File

@ -21,7 +21,7 @@ import qualified Data.Text.Lazy as TL
import qualified Data.Text.Lazy.Builder as TB import qualified Data.Text.Lazy.Builder as TB
import Data.Time.Calendar (Day, addDays) import Data.Time.Calendar (Day, addDays)
import System.Console.CmdArgs.Explicit as C (Mode, flagNone, flagReq) import System.Console.CmdArgs.Explicit as C (Mode, flagNone, flagReq)
import Hledger.Read.CsvUtils (CSV, printCSV, printTSV) import Hledger.Write.Csv (CSV, printCSV, printTSV)
import Lucid as L hiding (value_) import Lucid as L hiding (value_)
import Safe (tailDef) import Safe (tailDef)
import Text.Tabular.AsciiWide as Tabular hiding (render) import Text.Tabular.AsciiWide as Tabular hiding (render)