libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

commit ca6048655a01d9c8124225c22133b5cb88c454d1
parent 9738c420533c7eafad8d28a5154b925d7265d1bb
Author: Antoine A <>
Date:   Sat,  7 Jun 2025 17:05:19 +0200

nexus: fix manual export to stdout

Diffstat:
Mnexus/src/main/kotlin/tech/libeufin/nexus/cli/Manual.kt | 38++++++++++++++++++++++----------------
1 file changed, 22 insertions(+), 16 deletions(-)

diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/cli/Manual.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/cli/Manual.kt @@ -54,25 +54,31 @@ class ExportCmt: CliktCommand("export") { var nbTx: Int = 0 ZipOutputStream(BufferedOutputStream(out)).use { zip -> val ebicsCfg = cfg.ebics - for (batch in batches) { - nbTx = batch.payments.size - val entry = ZipEntry("${batch.creationDate.toDateTimeFilePath()}-${batch.messageId}.xml") - zip.putNextEntry(entry) - val msg = batchToPain001Msg(ebicsCfg.account, batch) - - val xml = createPain001( - msg = msg, - dialect = ebicsCfg.dialect - ) - zip.write(xml) - println("batch ${batch.messageId}:") - for (tx in batch.payments) { - println("tx ${tx.endToEndId} ${tx.amount} ${tx.creditor.iban} '${tx.creditor.receiverName}'") + val metadata = buildString { + append("Exported ${batches.size} pain.001 files:") + for (batch in batches) { + nbTx = batch.payments.size + val entry = ZipEntry("${batch.creationDate.toDateTimeFilePath()}-${batch.messageId}.xml") + zip.putNextEntry(entry) + val msg = batchToPain001Msg(ebicsCfg.account, batch) + + val xml = createPain001( + msg = msg, + dialect = ebicsCfg.dialect + ) + zip.write(xml) + append("\nbatch ${batch.messageId}:") + for (tx in batch.payments) { + append("\n- tx ${tx.endToEndId} ${tx.amount} ${tx.creditor.iban} '${tx.creditor.receiverName}'") + } + append("\n") } - println("") } + + zip.putNextEntry(ZipEntry("README.txt")) + zip.write(metadata.toByteArray()) + logger.info(metadata) } - println("Exported ${batches.size} pain.001 files in $out") } } }