migrate.py: Indicate member active status in invalid/warning calls
This commit is contained in:
@ -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:
|
||||
|
Reference in New Issue
Block a user