Merge pull request #64 into master

5989fdc client: subprofile.bash.in: update hledger-web arg (Aaron Fiore)
369e234 client/container: bash: trivial impl for `ledger-vui` (Aaron Fiore)
a461cda container: bash: lib_edit: add iadd (Aaron Fiore)
3c6c931 client/container: bash: add hledger aliases (Aaron Fiore)
This commit was merged in pull request #64.
This commit is contained in:
2024-06-25 18:09:28 -07:00
5 changed files with 45 additions and 12 deletions

View File

@@ -29,23 +29,33 @@
# CLI ledger # CLI ledger
alias @DOCKER_FINANCE_SUBPROFILE@_ledger='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ ledger' alias @DOCKER_FINANCE_SUBPROFILE@_ledger='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ ledger'
alias @DOCKER_FINANCE_SUBPROFILE@_hledger='@DOCKER_FINANCE_SUBPROFILE@_ledger'
alias @DOCKER_FINANCE_SUBPROFILE@_bal='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ ledger bal \ alias @DOCKER_FINANCE_SUBPROFILE@_bal='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ ledger bal \
assets liabilities \ assets liabilities \
not:desc:balances\$ not:equity:balances\$ not:archive \ not:desc:balances\$ not:equity:balances\$ not:archive \
' '
# CLI UI # Terminal UI
alias @DOCKER_FINANCE_SUBPROFILE@_ui='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ ledger-ui -w \ alias @DOCKER_FINANCE_SUBPROFILE@_ui='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ ledger-ui -w \
assets liabilities \ assets liabilities \
not:desc:balances\$ not:equity:balances\$ not:archive \ not:desc:balances\$ not:equity:balances\$ not:archive \
' '
alias @DOCKER_FINANCE_SUBPROFILE@_ledger-ui='@DOCKER_FINANCE_SUBPROFILE@_ui'
alias @DOCKER_FINANCE_SUBPROFILE@_hledger-ui='@DOCKER_FINANCE_SUBPROFILE@_ui'
# Terminal UI (visidata)
alias @DOCKER_FINANCE_SUBPROFILE@_vui='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ ledger-vui'
alias @DOCKER_FINANCE_SUBPROFILE@_ledger-vui='@DOCKER_FINANCE_SUBPROFILE@_vui'
alias @DOCKER_FINANCE_SUBPROFILE@_hledger-vui='@DOCKER_FINANCE_SUBPROFILE@_vui'
# Web UI # Web UI
alias @DOCKER_FINANCE_SUBPROFILE@_web='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ ledger-web --serve --host=0.0.0.0 --base-url http://127.0.0.1:5000 --capabilities=view \ alias @DOCKER_FINANCE_SUBPROFILE@_web='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ ledger-web --serve --host=0.0.0.0 --base-url http://127.0.0.1:5000 --allow=view \
assets liabilities \ assets liabilities \
not:desc:balances\$ not:equity:balances\$ not:archive \ not:desc:balances\$ not:equity:balances\$ not:archive \
' '
alias @DOCKER_FINANCE_SUBPROFILE@_ledger-web='@DOCKER_FINANCE_SUBPROFILE@_web'
alias @DOCKER_FINANCE_SUBPROFILE@_hledger-web='@DOCKER_FINANCE_SUBPROFILE@_web'
# Fetches, imports, generates taxes and reports (using defaults) # Fetches, imports, generates taxes and reports (using defaults)
alias @DOCKER_FINANCE_SUBPROFILE@_all='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ all' alias @DOCKER_FINANCE_SUBPROFILE@_all='$DOCKER_FINANCE_CONTAINER_CMD @DOCKER_FINANCE_PROFILE@/@DOCKER_FINANCE_SUBPROFILE@ all'

View File

@@ -54,9 +54,9 @@ function main()
edit \e[34;3mEdit existing container data\e[0m edit \e[34;3mEdit existing container data\e[0m
fetch \e[34;3mFetch remote accounts\e[0m fetch \e[34;3mFetch remote accounts\e[0m
import \e[34;3mImport CSVs for given year (default: current year)\e[0m import \e[34;3mImport CSVs for given year (default: current year)\e[0m
ledger \e[34;3mRun CLI ledger-based commands\e[0m ledger \e[34;3mRun CLI accounting commands (hledger)\e[0m
ledger-ui \e[34;3mStart ncurses-based UI\e[0m ledger-ui \e[34;3mStart terminal UI (hledger-ui)\e[0m
ledger-web \e[34;3mStart web-based UI\e[0m ledger-web \e[34;3mStart web-based UI (hledger-web)\e[0m
meta \e[34;3mSearch local financial metadata\e[0m meta \e[34;3mSearch local financial metadata\e[0m
reports \e[34;3mGenerate balance sheet, income statement, etc.\e[0m reports \e[34;3mGenerate balance sheet, income statement, etc.\e[0m
root \e[34;3mRun ROOT.cern instance for docker-finance analysis\e[0m root \e[34;3mRun ROOT.cern instance for docker-finance analysis\e[0m
@@ -107,13 +107,16 @@ function main()
import) import)
lib_finance::import "${@:3}" lib_finance::import "${@:3}"
;; ;;
ledger) ledger | hledger)
lib_finance::ledger "${@:3}" lib_finance::ledger "${@:3}"
;; ;;
ledger-ui) ledger-ui | hledger-ui)
lib_finance::ledger-ui "${@:3}" lib_finance::ledger-ui "${@:3}"
;; ;;
ledger-web) ledger-vui | hledger-vui)
lib_finance::ledger-vui "${@:3}"
;;
ledger-web | hledger-web)
lib_finance::ledger-web "${@:3}" lib_finance::ledger-web "${@:3}"
;; ;;
meta) meta)

View File

@@ -157,7 +157,7 @@ function lib_edit::__parse_args()
read -ra _read <<<"$_arg_type" read -ra _read <<<"$_arg_type"
for _type in "${_read[@]}"; do for _type in "${_read[@]}"; do
if [[ ! "$_type" =~ ^fetch$|^manual$|^meta$|^preprocess$|^rules$|^shell$ ]]; then if [[ ! "$_type" =~ ^fetch$|^iadd$|^manual$|^meta$|^preprocess$|^rules$|^shell$ ]]; then
lib_utils::die_usage "$_usage" lib_utils::die_usage "$_usage"
fi fi
if [[ ! -z "$_arg_account" ]]; then if [[ ! -z "$_arg_account" ]]; then
@@ -209,16 +209,18 @@ function lib_edit::__edit()
fetch) fetch)
$EDITOR "$global_conf_fetch" $EDITOR "$global_conf_fetch"
;; ;;
manual) iadd | manual)
local _path="${global_child_profile_flow}/import/${global_child_profile}/_manual_/${global_arg_year}" local _path="${global_child_profile_flow}/import/${global_child_profile}/_manual_/${global_arg_year}"
[ ! -d "$_path" ] && mkdir -p "$_path" [ ! -d "$_path" ] && mkdir -p "$_path"
_path+="/post-import.journal" _path+="/post-import.journal"
[ ! -f "$_path" ] && touch "$_path" [ ! -f "$_path" ] && touch "$_path"
# TODO: upstream request to provide comment(N) entries
[[ "$_type" == "iadd" ]] && /usr/bin/hledger-iadd -f "$_path"
# TODO: option for editor type # TODO: option for editor type
$EDITOR "$_path" [[ "$_type" == "manual" ]] && $EDITOR "$_path"
#/usr/bin/hledger-iadd -f "$_path" # TODO: upstream request to provide comment(N) entries
;; ;;
meta) meta)
# NOTE: # NOTE:

View File

@@ -46,6 +46,12 @@ function lib_ledger::ledger-ui()
lib_utils::catch $? lib_utils::catch $?
} }
function lib_ledger::ledger-vui()
{
lib_ledger::__ledger-vui "$@"
lib_utils::catch $?
}
function lib_ledger::ledger-web() function lib_ledger::ledger-web()
{ {
lib_ledger::__ledger-web "$@" lib_ledger::__ledger-web "$@"
@@ -132,6 +138,12 @@ function lib_ledger::__ledger-ui()
/usr/bin/hledger-ui -f "$global_child_profile_journal" "$@" /usr/bin/hledger-ui -f "$global_child_profile_journal" "$@"
} }
function lib_ledger::__ledger-vui()
{
/usr/bin/hledger -f "$global_child_profile_journal" print -O csv "$@" \
| visidata --motd-url file:///dev/null --filetype csv
}
function lib_ledger::__ledger-web() function lib_ledger::__ledger-web()
{ {
/usr/bin/hledger-web -f "$global_child_profile_journal" "$@" /usr/bin/hledger-web -f "$global_child_profile_journal" "$@"

View File

@@ -186,6 +186,12 @@ function lib_finance::ledger-ui()
lib_utils::catch $? lib_utils::catch $?
} }
function lib_finance::ledger-vui()
{
lib_ledger::ledger-vui "$@"
lib_utils::catch $?
}
function lib_finance::ledger-web() function lib_finance::ledger-web()
{ {
lib_ledger::ledger-web "$@" lib_ledger::ledger-web "$@"