From e5433c53de2a8f43831fba04c72dcb80ed4abc9e Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Mon, 4 Sep 2023 19:12:46 +0200 Subject: [PATCH] migrate.py: Indicate member active status in invalid/warning calls --- wgmaster/migrate.py | 46 ++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/wgmaster/migrate.py b/wgmaster/migrate.py index 3f3155f..158ee2d 100755 --- a/wgmaster/migrate.py +++ b/wgmaster/migrate.py @@ -146,15 +146,15 @@ def new(t: str, ids: Any, name: str, comment: str = None) -> None: def success(mgnr: int, key: str, value) -> None: if not QUIET: - print(f'\x1B[1;32m{mgnr:>6}: {key:<12} {value}\x1B[0m', file=sys.stderr) + print(f'\x1B[1;32m{mgnr:>6} : {key:<12} {value}\x1B[0m', file=sys.stderr) -def warning(mgnr: int, key: str, value) -> None: - print(f'\x1B[1;33m{mgnr:>6}: {key:<12} {value}\x1B[0m', file=sys.stderr) +def warning(mgnr: int, key: str, value, active: bool) -> None: + print(f'\x1B[1;33m{mgnr:>6} ({"A" if active else " "}): {key:<12} {value}\x1B[0m', file=sys.stderr) -def invalid(mgnr: int, key: str, value) -> None: - print(f'\x1B[1;31m{mgnr:>6}: {key:<12} {value}\x1B[0m', file=sys.stderr) +def invalid(mgnr: int, key: str, value, active: Optional[bool]) -> None: + print(f'\x1B[1;31m{mgnr:>6} ({"A" if active else "?" if active is None else " "}): {key:<12} {value}\x1B[0m', file=sys.stderr) def renumber_delivery(lsnr_1: str, lsnr_2: str) -> None: @@ -172,13 +172,13 @@ def invalid_delivery(lsnr: str, mgnr: int, key: str, value) -> None: def convert(mgnr: int, key: str, old_value: str, new_value) -> None: if not QUIET: - print(f'\x1B[1m{mgnr:>6}: {key:<12} "{old_value}" -> "{new_value}"\x1B[0m', file=sys.stderr) + print(f'\x1B[1m{mgnr:>6} : {key:<12} "{old_value}" -> "{new_value}"\x1B[0m', file=sys.stderr) def convert_name(mgnr: int, old_name: Tuple[str, str], new_name: Tuple[str, str, str, str, str], billing: Optional[str] = None) -> None: if not QUIET: - print(f'\x1B[1m{mgnr:>6}: ' + print(f'\x1B[1m{mgnr:>6} : ' f'{" / ".join([e or "" for e in old_name])} -> ' f'{" / ".join([e or "" for e in new_name])}' f'{"(" + billing + ")" if billing else ""}\x1B[0m', file=sys.stderr) @@ -782,7 +782,7 @@ def migrate_members(in_dir: str, out_dir: str) -> None: if not given_name or not family_name: given_name = given_name or '' family_name = family_name or '' - invalid(mgnr, 'Name', n1) + invalid(mgnr, 'Name', n1, active) bnr: Optional[str] = m['Betriebsnummer'] if m['Betriebsnummer'] != '-' else None if bnr is not None: @@ -795,9 +795,9 @@ def migrate_members(in_dir: str, out_dir: str) -> None: bnr = bnr.split(' ')[0] if not check_lfbis_nr(bnr): if bnr in ('0', '1234567'): - warning(mgnr, 'BetriebsNr.', bnr) + warning(mgnr, 'BetriebsNr.', bnr, active) else: - invalid(mgnr, 'BetriebsNr.', bnr) + invalid(mgnr, 'BetriebsNr.', bnr, active) bnr = None ustid_nr: Optional[str] = m['UID'] @@ -806,13 +806,13 @@ def migrate_members(in_dir: str, out_dir: str) -> None: if len(ustid_nr) == 8 and ustid_nr.isdigit(): ustid_nr = 'ATU' + ustid_nr elif not USTID_NR_RE.fullmatch(ustid_nr): - invalid(mgnr, 'UID', ustid_nr) + invalid(mgnr, 'UID', ustid_nr, active) ustid_nr = None if ustid_nr and not check_ustid_nr_at(ustid_nr): if ustid_nr == 'ATU11111111': - warning(mgnr, 'UID', ustid_nr) + warning(mgnr, 'UID', ustid_nr, active) else: - invalid(mgnr, 'UID', ustid_nr) + invalid(mgnr, 'UID', ustid_nr, active) ustid_nr = None iban: Optional[str] = m['IBAN'] @@ -823,7 +823,7 @@ def migrate_members(in_dir: str, out_dir: str) -> None: if iban is not None: iban = iban.replace(' ', '') if not check_iban(iban): - invalid(mgnr, 'IBAN', iban) + invalid(mgnr, 'IBAN', iban, active) iban = None if bic is not None: @@ -833,7 +833,7 @@ def migrate_members(in_dir: str, out_dir: str) -> None: elif bic == 'RLNWATWMIB': bic = 'RLNWATWWMIB' if not BIC_RE.fullmatch(bic): - invalid(mgnr, 'BIC', bic) + invalid(mgnr, 'BIC', bic, active) bic = None if bic is not None: if len(bic) == 11 and bic.endswith('XXX'): @@ -889,7 +889,7 @@ def migrate_members(in_dir: str, out_dir: str) -> None: if email.isupper(): email = email.lower() if not EMAIL_RE.fullmatch(email): - invalid(mgnr, 'E-Mail', m['EMail']) + invalid(mgnr, 'E-Mail', m['EMail'], active) email = None else: parts = email.split('@') @@ -909,7 +909,7 @@ def migrate_members(in_dir: str, out_dir: str) -> None: kgnr = lookup_kgnr(okz) active = m['Aktives Mitglied'] or False if kgnr is None: - invalid(mgnr, 'KGNr.', ort) + invalid(mgnr, 'KGNr.', ort, active) elif kgnr not in [kg[0] for gem in GEM_MAP.values() for kg in gem]: glnr = guess_glnr(kgnr) if glnr: @@ -922,7 +922,7 @@ def migrate_members(in_dir: str, out_dir: str) -> None: kgnr = None if postal_dest is None: - invalid(mgnr, 'PLZ', None) + invalid(mgnr, 'PLZ', None, active) continue pred = m['MGNR-Vorgänger'] if m['MGNR-Vorgänger'] in mgnrs else None @@ -1035,7 +1035,7 @@ def migrate_members(in_dir: str, out_dir: str) -> None: if phone_1: phone_1 = normalize_phone_nr(phone_1) if len(phone_1) <= 10 or phone_1[0] != '+': - invalid(mgnr, 'Tel.Nr.', m['Telefon']) + invalid(mgnr, 'Tel.Nr.', m['Telefon'], active) else: numbers.append(phone_1) if phone_1[4] == '6': @@ -1045,7 +1045,7 @@ def migrate_members(in_dir: str, out_dir: str) -> None: if phone_2: phone_2 = normalize_phone_nr(phone_2) if len(phone_2) <= 8 or phone_2[0] != '+': - invalid(mgnr, 'Fax.Nr.', m['Telefax']) + invalid(mgnr, 'Fax.Nr.', m['Telefax'], active) else: numbers.append(phone_2) if phone_2[4] == '6': @@ -1055,7 +1055,7 @@ def migrate_members(in_dir: str, out_dir: str) -> None: if phone_3: phone_3 = normalize_phone_nr(phone_3) if len(phone_3) <= 10 or phone_3[0] != '+': - invalid(mgnr, 'Tel.Nr.', m['Mobiltelefon']) + invalid(mgnr, 'Tel.Nr.', m['Mobiltelefon'], active) elif phone_3 not in numbers: numbers.append(phone_3) if phone_3[4] == '6': @@ -1118,7 +1118,7 @@ def migrate_area_commitments(in_dir: str, out_dir: str) -> None: for gst in parse_gstnrs(p, kgnr, mgnr) ] - invalid(mgnr, 'GstNr.', f'{kgnr:05}-{nr_str}') + invalid(mgnr, 'GstNr.', f'{kgnr:05}-{nr_str}', None) return [] def replace_nrs(m: re.Match, sep: str) -> str: @@ -1224,7 +1224,7 @@ def migrate_area_commitments(in_dir: str, out_dir: str) -> None: comment, gstnr = None, None if parz is None or parz == '0000': if parz is not None: - invalid(mgnr, 'GstNr.', f'{lookup_kg_name(kgnr)} {kgnr or 0:05}-{parz}') + invalid(mgnr, 'GstNr.', f'{lookup_kg_name(kgnr)} {kgnr or 0:05}-{parz}', None) gstnrs = [] gstnr = '-' if WG == 'MATZEN' and len(gstnrs) == 0: