1
0

Readme has been updated.

This commit is contained in:
Alexander Andreev 2020-06-05 03:49:23 +04:00
parent f58b675107
commit da1ed3c436

View File

@ -11,8 +11,10 @@ banknots, but table will become indeed wide.
Many years ago I wrote a little script to store info on how much coins I have
in my piggy bank. It used SQLite 3 database for it and was hardcoded to rubles.
Why had I use whole SQL database? That was the first time I tried SQLite in
Python.
This year I came up with an idea that it would be good to learn on how to make
Once I came up with an idea that it would be good to learn on how to make
packages for Python. And with no better ideas I took my piggy bank script to be
rewritten to support any currency. Database was thrown away and its place was
took by a simple text format.
@ -25,80 +27,84 @@ This is a CLI program that is broken down to three separate programs:
there is no such file;
- `piggybank-take` — takes coins from an existsing piggy bank file;
- `piggybank-show` — shows summarised information on a piggy bank and,
optionally, print a list of transactions.
optionally, print a list of transactions.
## Common flags
```bash
piggybank-* [(-h | --help) | (-v | --version) | --list-currencies]
piggybank-* [(-h | --help) | (-v | --version) | (-L | --list-currencies)
| --set-default-currency]
```
`--help` to show help on what commands you can use.
These flags are used with every sub-program.
`--help` to show help.
`--version` to show version of program.
`--list-currencies` to show what currencies supported and which one is default.
`--set-default-currency` to set a currency of your choice as default one.
## How to put coins in
```bash
piggybank-put <file> [-r | --reverse] <coins> [(-c | --currency) <currency>]
piggybank-put [-r | --reverse] COINS in FILE of CURRENCY
```
Here's how to put coins in a piggybank file. It will also create a file if it
doesn't exist.
`<file>` is a name of a piggy bank file wich may not have a .pb extension at the
end, it will be added automatically.
`<coins>` is a set of coins' counts separated with space character. For example:
0 0 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 0 0 6 0 5 12 if currency has 8 coins.
`--reverse` 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 0 0 5 8 4. And this flag will make it
to be interpreted as 5 8 4 0 0 0 0 0. It is convenient if you want to add only
coins of low face value (e.g. cents or kopeks).
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).
`--currency` parameter specifies the currency of a new piggy bank. It will not
change currency of an existing piggy bank.
`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-put example.pb 7 4 3 0 5 -c euro
piggybank-put example -r 0 4 6
piggybank-put 7 4 3 0 5 in example.pb of EUR
piggybank-put -r 0 4 6 in example
```
## How to take coins out
```bash
piggybank-take <file> [-r | --reverse] <coins>
piggybank-take [-r | --reverse] COINS in FILE
```
All the parameters are explained above. `--currency` flag is not applicable
here.
All the parameters are explained above.
### Examples:
```bash
piggybank-take example.pb -r 0 0 4
piggybank-take -r 0 0 4 from example.pb
```
## How to see what do you have
```bash
piggybank-show <file> [-t | --transactions]
piggybank-show FILE [ with (t | transactions)]
```
Without `-t` flag only summarised information will be printed. `--transactions`
flag tells the program to print out all the transactions stored in a piggy bank.
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 -t
piggybank-show example.pb with t
```