Source code for valuta.cli

import argparse
import sys

from .scaffolding import read_csv_and_write_output
from .utils import get_currency_choices

__author__ = "Artur Barseghyan"
__copyright__ = "2021 Artur Barseghyan"
__license__ = "GPL-2.0-only OR LGPL-2.1-or-later"
__all__ = (
    "generate_currencies",
    "list_currencies",
)


[docs]def generate_currencies(): """Generate currency modules.""" parser = argparse.ArgumentParser(description="Generate currency modules") parser.add_argument( "--in-file", dest="in_file", default="list_of_circulating_currencies.csv", action="store", help="Input file", ) parser.add_argument( "--out-dir", dest="out_dir", default="currencies", action="store", help="Output directory", ) parser.add_argument( "--skip-first-line", dest="skip_first_line", default=False, action="store_true", help="Skip first line from the CSV?", ) args = parser.parse_args(sys.argv[1:]) in_file = args.in_file out_dir = args.out_dir skip_first_line = args.skip_first_line read_csv_and_write_output(in_file, out_dir, skip_first_line)
[docs]def list_currencies(): """List currency modules.""" parser = argparse.ArgumentParser(description="List currency modules") parser.add_argument( "--sort-by-value", dest="sort_by_value", default=False, action="store_true", help="Sort by value?", ) args = parser.parse_args(sys.argv[1:]) sort_by_key = not args.sort_by_value currencies = get_currency_choices(sort_by_key=sort_by_key) total = len(currencies) print("┌───────────┬──────────────────────────────────────────┐") print("│ ISO code │ Currency │") print("├───────────┼──────────────────────────────────────────┤") for counter, (iso_code, currency) in enumerate(currencies): print(f"│ {iso_code}{currency}{' '*(41-len(currency))}│") if counter == total - 1: print("└───────────┴──────────────────────────────────────────┘") else: print("├───────────┼──────────────────────────────────────────┤")