;examples:debconf: update scripts, restore Ledger price-db support
This commit is contained in:
parent
1e257c4daa
commit
85bedb77ac
@ -21,15 +21,27 @@ dc%:
|
|||||||
git clone --filter=blob:none --sparse http://salsa.debian.org/debconf-team/public/data/$@
|
git clone --filter=blob:none --sparse http://salsa.debian.org/debconf-team/public/data/$@
|
||||||
git -C $@ sparse-checkout set --no-cone budget '!budget/invoices'
|
git -C $@ sparse-checkout set --no-cone budget '!budget/invoices'
|
||||||
git -C $@ apply --allow-empty ../patches/$@.patch
|
git -C $@ apply --allow-empty ../patches/$@.patch
|
||||||
printf 'include $@/budget/journal.ledger\ninclude $@/budget/forex.db\n' > 20$*.ledger
|
printf 'include $@/budget/journal.ledger\ninclude $@/budget/forex.db\n' > $*.hledger
|
||||||
|
|
||||||
# make check-ledger, check-hledger - check readability of all years (main journal)
|
# make cmd-'CMD' - run a command in each repo's budget directory
|
||||||
check-%:
|
cmd-%:
|
||||||
@for d in dc*; do printf "$$d: "; $* -f $$d/budget/journal.ledger stats >/dev/null && echo ok; done
|
@for d in dc*; do printf "\n$$d:\n"; (cd $$d/budget; $*;) done
|
||||||
|
|
||||||
# make hledger-'ARGS' - run a hledger command on all years (main journal)
|
# make hledger-'HLEDGERARGS' - run a hledger command on each repo's main journal
|
||||||
hledger-%:
|
hledger-%:
|
||||||
@for d in dc*; do printf "\n$$d:\n"; hledger -f $$d/budget/journal.ledger $*; done
|
@for d in dc*; do printf "\n$$d:\n"; hledger -f $$(echo $$d | sed 's/dc//').hledger $*; done
|
||||||
|
|
||||||
|
# check hledger readability of all repos' main journal
|
||||||
|
hledger-check:
|
||||||
|
@for d in dc*; do printf "$$d: "; hledger -f $$(echo $$d | sed 's/dc//').hledger stats >/dev/null && echo ok; done
|
||||||
|
|
||||||
|
# make ledger-'LEDGERARGS' - run a ledger command on each repo's main journal
|
||||||
|
ledger-%:
|
||||||
|
@for d in dc*; do printf "\n$$d:\n"; ledger -f $$d/budget/journal.ledger --price-db $$d/budget/forex.db $*; done
|
||||||
|
|
||||||
|
# check Ledger readability of all repos' main journal
|
||||||
|
ledger-check:
|
||||||
|
@for d in dc*; do printf "$$d: "; ledger -f $$d/budget/journal.ledger --price-db $$d/budget/forex.db stats >/dev/null && echo ok; done
|
||||||
|
|
||||||
|
|
||||||
# maintenance
|
# maintenance
|
||||||
@ -49,11 +61,7 @@ fixups:
|
|||||||
sed -i -E 's/^( +format +\w+ +[0-9]+(,[0-9]+)+)$$/\1.00/' dc*/budget/commodities.inc
|
sed -i -E 's/^( +format +\w+ +[0-9]+(,[0-9]+)+)$$/\1.00/' dc*/budget/commodities.inc
|
||||||
# convert amount expressions to simple amounts (use ledgereval or ledger eval)
|
# convert amount expressions to simple amounts (use ledgereval or ledger eval)
|
||||||
|
|
||||||
# show uncommitted changes in each year
|
|
||||||
diff:
|
|
||||||
for d in dc*; do echo $$d:; git -C $$d diff; done
|
|
||||||
|
|
||||||
# save patch files for each year
|
# save patch files for each year
|
||||||
save-patches:
|
save-patches:
|
||||||
for d in dc*; do GIT_PAGER= git -C $$d diff >patches/$$d.patch; done
|
for d in dc*; do git --no-pager -C $$d diff > patches/$$d.patch; done
|
||||||
|
|
||||||
|
|||||||
@ -9,11 +9,10 @@ To clone just the accounting data for all years: `make`\
|
|||||||
Or to clone just a few recent years: `make recent`
|
Or to clone just a few recent years: `make recent`
|
||||||
|
|
||||||
Some patches for hledger readability will be applied; those might need updating from time to time.\
|
Some patches for hledger readability will be applied; those might need updating from time to time.\
|
||||||
To check hledger readability: `make check-hledger`\
|
To check hledger readability: `make hledger-check`\
|
||||||
To check ledger readability: `make check-ledger`
|
To check ledger readability: `make ledger-check`
|
||||||
|
|
||||||
For convenient reporting, a top-level journal file is created for each year's repo.\
|
For convenient reporting, a top-level .hledger file that also includes the foreign exchange rates is created for each year's repo.
|
||||||
These also include the forex.db files, allowing currency conversion (when rates exist; you might need to fetch more).
|
|
||||||
|
|
||||||
The `hledger.conf` file sets a few non-essential defaults when you are in this directory.
|
The `hledger.conf` file sets a few non-essential defaults when you are in this directory.
|
||||||
|
|
||||||
@ -25,18 +24,22 @@ and [other docs](https://hledger.org/doc.html).
|
|||||||
|
|
||||||
Single year reports:
|
Single year reports:
|
||||||
|
|
||||||
- `hledger -f 2025.ledger is`
|
- `hledger -f 25.hledger is`
|
||||||
- `hledger -f 2025.ledger is -V`
|
- `hledger -f 25.hledger is -V`
|
||||||
- `hledger -f 2025.ledger is -VQSTt --drop 1`
|
- `hledger -f 25.hledger is -VQSTt --drop 1`
|
||||||
|
|
||||||
The `all.ledger` file reads from all the downloaded repos:
|
The `all.hledger` file reads from all the downloaded repos' main journals:
|
||||||
|
|
||||||
- `hledger -f all.ledger is -1 -YTN`
|
- `hledger -f all.hledger is -1 -YTN`
|
||||||
- `hledger -f all.ledger is -1 -YT -X USD`
|
- `hledger -f all.hledger is -1 -YT -X USD`
|
||||||
|
|
||||||
`make hledger-'ARGS'` runs a hledger command in each downloaded repo:
|
`make hledger-'HLEDGERARGS'` runs a hledger command on each repo's main journal:
|
||||||
|
|
||||||
- `make hledger-accounts`
|
- `make hledger-accounts`
|
||||||
- `make hledger-stats | grep 'Txns '`
|
- `make hledger-stats | grep 'Txns '`
|
||||||
- `make hledger-'bs -2'`
|
- `make hledger-'bs -2'`
|
||||||
- `make hledger-'is -2`
|
- `make hledger-'is -2`
|
||||||
|
|
||||||
|
`make ledger-'LEDGERARGS'` does the same but with Ledger.
|
||||||
|
|
||||||
|
`make cmd-'CMD` runs a command in each repo.
|
||||||
|
|||||||
@ -2,4 +2,4 @@ alias Expenses=expenses
|
|||||||
alias incomes=income
|
alias incomes=income
|
||||||
alias Incomes=income
|
alias Incomes=income
|
||||||
|
|
||||||
include 2*.ledger
|
include [0-9]*.hledger
|
||||||
Loading…
Reference in New Issue
Block a user