

9 changed files with 63 additions and 71 deletions
@ -1,6 +1,6 @@
|
||||
.vscode/ |
||||
build/ |
||||
dist/ |
||||
piggybank.egg-info/ |
||||
*.egg-info/ |
||||
__pycache__ |
||||
*.pb |
||||
|
@ -1,2 +1,13 @@
|
||||
from typing import List |
||||
|
||||
from piggybank.currencies import CURRENCIES |
||||
|
||||
EPILOGUE = """This program is to assist you to keep track of how much coins |
||||
you have across your piggy banks.""" |
||||
you have across your piggy banks.""" |
||||
|
||||
|
||||
def complement_array_of_coins(coins: List[int], currency: str, |
||||
_reversed: bool = False) -> List[int]: |
||||
"""Complements array of coins up to the count of currency's coins.""" |
||||
offset_array = [0] * (CURRENCIES[currency]["count"] - len(coins)) |
||||
return offset_array + coins if not _reversed else coins + offset_array |
@ -1,34 +0,0 @@
|
||||
"""Utility functions.""" |
||||
|
||||
from argparse import ArgumentParser |
||||
from typing import List |
||||
|
||||
from piggybank import __version__, __copyright__, __license__ |
||||
from piggybank.currencies import CURRENCIES, DEFAULT_CURRENCY |
||||
|
||||
|
||||
__all__ = ["add_common_arguments_to_parser", "complement_array_of_coins"] |
||||
|
||||
|
||||
def add_common_arguments_to_parser(parser: ArgumentParser, |
||||
include_reverse_flag: bool = True) -> None: |
||||
"""Extends ArgumentParser with a common set of arguments that are shared |
||||
amongst all parsers in CLI module.""" |
||||
parser.add_argument("-v", "--version", action="store_true", |
||||
help="show program's version and license and exit") |
||||
parser.add_argument("--list-currencies", action="store_true", |
||||
help="list all supported currencies and exit") |
||||
|
||||
if include_reverse_flag: |
||||
parser.add_argument("-r", "--reverse", action="store_true", |
||||
help="reverse a set of coins so incomplete set" |
||||
"fills with zeros from right. E.g. '8 9' will be" |
||||
"interpreted as '8 9 0 0 0 0' instead of" |
||||
"'0 0 0 0 8 9'") |
||||
|
||||
|
||||
def complement_array_of_coins(coins: List[int], currency: str, |
||||
_reversed: bool = False) -> List[int]: |
||||
"""Complements array of coins up to the count of currency's coins.""" |
||||
offset_array = [0] * (CURRENCIES[currency]["count"] - len(coins)) |
||||
return offset_array + coins if not _reversed else coins + offset_array |
Loading…
Reference in new issue