141 lines
3.6 KiB
Markdown
141 lines
3.6 KiB
Markdown
Keep track of your piggy bank.
|
|
|
|
Every time you put coins in or take them out of your piggy bank, write here down
|
|
how much did you put or take. So you won't have to spend time counting them when
|
|
you decide to take them all out.
|
|
|
|
Yes, only coins, no banknots. Well, you actually can easily add support for
|
|
banknots, but table will become indeed wide.
|
|
|
|
# Usage
|
|
|
|
piggybank [OPTIONS] (COINS in FILE [of CURRENCY] | COINS from FILE
|
|
| show FILE [with t(ransactions)])
|
|
|
|
Common options:
|
|
|
|
- `-h,--help` — print this help;
|
|
|
|
- `-v,--version` — print program version;
|
|
|
|
- `-L,--list-currencies` — list supported currencies and a default one;
|
|
|
|
- `--set-default-currency` — set currency that'll be used as a default;
|
|
|
|
## Brief usage with examples
|
|
|
|
### Put coins in
|
|
|
|
```bash
|
|
piggybank [-r | --reversed] COINS in FILE [of CURRENCY]
|
|
piggybank -r 1 4 5 4 6 8 in example.pb of SRUB
|
|
```
|
|
|
|
### Take coins out
|
|
|
|
```bash
|
|
piggybank [-r | --reversed] COINS from FILE
|
|
piggybank -r 5 4 6 from example.pb
|
|
```
|
|
|
|
### Show information on your piggy bank
|
|
|
|
```bash
|
|
piggybank show FILE [with t(ransactions)]
|
|
piggybank show example.pb with t
|
|
```
|
|
|
|
### Set default currency
|
|
|
|
```bash
|
|
piggybank --set-default-currency USD
|
|
```
|
|
|
|
## How to put coins in
|
|
|
|
```bash
|
|
piggybank [-r | --reversed] COINS in FILE [of CURRENCY]
|
|
```
|
|
|
|
`--reversed` flag reverses the order of coins. By default they come from least
|
|
significant face value to the most significant one and as stated above being
|
|
complemented from left so a set shorter than number of coins in a currency,
|
|
e.g. 5 8 4 will be interpreted as 0 0 0 5 8 4. And this flag will make it
|
|
to be interpreted as 5 8 4 0 0 0. It is convenient if you want to add only
|
|
coins of low face value (e.g. cents).
|
|
|
|
`COINS` is a set of coins' counts separated with space or comma character. For
|
|
example: 0 5 0 4 6 7. By default trailing zeroes will be added from the left.
|
|
So if you wrote something like 6 0 5 12 then it will be complemented to
|
|
0 0 6 0 5 12 if currency has 6 coins.
|
|
|
|
`FILE` is a name of a piggy bank file wich may not have a .pb extension at the
|
|
end, it will be added automatically.
|
|
|
|
`CURRENCY` specifies the currency of a new piggy bank. It will not change
|
|
currency of an existing piggy bank. ISO standard is used, e.g. EUR.
|
|
Case-insensitive.
|
|
|
|
### Examples:
|
|
|
|
```bash
|
|
piggybank 7 4 3 0 5 in example.pb of EUR
|
|
piggybank -r 0 4 6 in example
|
|
```
|
|
|
|
## How to take coins out
|
|
|
|
```bash
|
|
piggybank [-r | --reversed] COINS from FILE
|
|
```
|
|
|
|
All the parameters are explained above.
|
|
|
|
### Examples:
|
|
|
|
```bash
|
|
piggybank -r 0 0 4 from example.pb
|
|
```
|
|
|
|
## How to see what you have in there
|
|
|
|
```bash
|
|
piggybank show FILE [with t(ransactions)]
|
|
```
|
|
|
|
It will print a summary table of what is stored in a piggy bank.
|
|
|
|
`with t(ransactions)` will print also a table of all transactions stored in a
|
|
file.
|
|
|
|
### Examples:
|
|
|
|
```bash
|
|
piggybank show example.pb with t
|
|
```
|
|
|
|
# Configuration
|
|
|
|
Configuration file `piggybank.conf` is stored in directory specified by
|
|
`$XDG_CONFIG_HOME` environment variable or, if it isn't set, in `$HOME/.config`
|
|
on Linux and in `%APPDATA%` on Windows.
|
|
|
|
By default it has following content:
|
|
|
|
default-currency = SRUB
|
|
|
|
Aside from `default-currency` there is also a `currency.*` parameter. `*` is a
|
|
currency's ISO code, e.g. `currency.RUB`, `currency.USD`, `currency.EUR` etc.
|
|
This parameter allows you to add a currency needed for you, but not presented in
|
|
program.
|
|
|
|
Currency is defined following way:
|
|
|
|
currency.ISO = ISO;NAME;DESCRIPTION;COINS_COUNT;COINS_NAME;FACE_VALUES
|
|
|
|
That is best described with an example. Here it is:
|
|
|
|
currency.EXM = EXM;Example;Example currency;2;1E,2E;100,200
|
|
|
|
Yes, long and clunky way... May be I'll come up with something better.
|