diff options
author | Antoine A <> | 2024-02-28 17:39:20 +0100 |
---|---|---|
committer | Antoine A <> | 2024-02-28 17:42:38 +0100 |
commit | 49c8d222ff01523435391440f71808445a5f86c7 (patch) | |
tree | fc1e1a2fd56641237a225ecd6e39cbf60efe0c3e | |
parent | 9d941544a83b47d7d7d0d3b6f365ed9a539325cd (diff) | |
download | deployment-49c8d222ff01523435391440f71808445a5f86c7.tar.gz deployment-49c8d222ff01523435391440f71808445a5f86c7.tar.bz2 deployment-49c8d222ff01523435391440f71808445a5f86c7.zip |
regio: fix
-rwxr-xr-x | regional-currency/ask_questions.py | 18 | ||||
-rwxr-xr-x | regional-currency/main.sh | 6 |
2 files changed, 16 insertions, 8 deletions
diff --git a/regional-currency/ask_questions.py b/regional-currency/ask_questions.py index ea266a2..e983121 100755 --- a/regional-currency/ask_questions.py +++ b/regional-currency/ask_questions.py @@ -3,10 +3,10 @@ import base64 import os +import re import subprocess import urllib.parse import uuid -import re from typing import Callable, Dict, TypeVar log = open("setup.log", "ab", buffering=0) @@ -14,6 +14,7 @@ CONFIG_FILE = "config/user.conf" BIC_PATTERN = re.compile("[A-Z0-9]{4}[A-Z]{2}[A-Z0-9]{2}(?:[A-Z0-9]{3})?") IBAN_PATTERN = re.compile("[A-Z]{2}[0-9]{2}[A-Z0-9]{,28}") + def load_conf() -> Dict[str, str]: """Load user configuration file""" conf = {} @@ -142,10 +143,12 @@ def ask_str(name: str | None, msg: str, default: str | None = None) -> str: "Prompt the user to configure a string" return ask(name, msg, default) + def ask_bic(name: str | None, msg: str, default: str | None = None) -> str: "Prompt the user to configure a BIC" + def check_bic(raw: str) -> str | None: - raw = raw.translate({ord(i): None for i in ' -'}) + raw = raw.translate({ord(i): None for i in " -"}) if not BIC_PATTERN.fullmatch(raw): print("Invalid BIC") return None @@ -154,18 +157,21 @@ def ask_bic(name: str | None, msg: str, default: str | None = None) -> str: return ask(name, msg, default, check_bic) + def ask_iban(name: str | None, msg: str, default: str | None = None) -> str: "Prompt the user to configure a IBAN" + def check_iban(raw: str) -> str | None: - raw = raw.translate({ord(i): None for i in ' -'}) + raw = raw.translate({ord(i): None for i in " -"}) if not IBAN_PATTERN.fullmatch(raw): - print("Invalid IBAN") # Checksum check ? + print("Invalid IBAN") # Checksum check ? return None else: return raw return ask(name, msg, default, check_iban) + def ask_currency(name: str, msg: str, default: str | None = None) -> str: "Prompt the user to configure a currency name" @@ -241,7 +247,7 @@ if do_conversion: "FIAT_ACCOUNT_NAME", "2.4. Enter the legal name of your fiat bank account: " ) params = urllib.parse.urlencode({"receiver-name": name}) - add_conf("CONVERSION_PAYTO", f"payto://iban/{iban}/{bic}?{params}") + add_conf("CONVERSION_PAYTO", f"payto://iban/{bic}/{iban}?{params}") ask_str( "BANK_NAME", "3. Enter the human-readable name of the bank (e.g. 'Taler Bank'): ", @@ -313,4 +319,4 @@ ask_str( "BANK_ADMIN_PASSWORD", "8. Enter the admin password for the bank (or press enter to autogenerate password): ", str(uuid.uuid4()), -)
\ No newline at end of file +) diff --git a/regional-currency/main.sh b/regional-currency/main.sh index f7bc9e3..3214e0f 100755 --- a/regional-currency/main.sh +++ b/regional-currency/main.sh @@ -92,8 +92,10 @@ say "You can connect to the bank web UI as 'admin' using '${BANK_ADMIN_PASSWORD} say "A merchant is at ${PROTO}://backend.${DOMAIN_NAME}/" say "You should set credentials for the merchant soon." -say "For currency conversion to work, you must manually complete" -say "the EBICS configuration." +if test ${DO_CONVERSION} == y; then + say "For currency conversion to work, you must manually complete" + say "the EBICS configuration." +fi exit 0 # END INSTALLATION |