migrate.py: Change WKW to Winzerkeller

This commit is contained in:
2023-09-05 15:14:47 +02:00
parent e533773a5e
commit 1f2e05e803

View File

@ -18,7 +18,7 @@ import utils
class WG(Enum): class WG(Enum):
MATZEN = 1 MATZEN = 1
WKW = 2 WINZERKELLER = 2
@classmethod @classmethod
def from_str(cls, name: str): def from_str(cls, name: str):
@ -240,7 +240,7 @@ def normalize_phone_nr(nr: Optional[str], ort: str = None) -> Optional[str]:
nr = nr.replace('-', '') nr = nr.replace('-', '')
if nr[0] == '0': if nr[0] == '0':
nr = '+43 ' + nr[1:] nr = '+43 ' + nr[1:]
elif CLIENT == WG.WKW and ort: elif CLIENT == WG.WINZERKELLER and ort:
ort = ort.upper().strip() ort = ort.upper().strip()
if ort in ('PILLICHSDORF', 'OBERSDORF', 'WOLKERSDORF', 'WOLFPASSING', 'PUTZING', 'GROSSENGERSDORF', if ort in ('PILLICHSDORF', 'OBERSDORF', 'WOLKERSDORF', 'WOLFPASSING', 'PUTZING', 'GROSSENGERSDORF',
'EIBESBRUNN'): 'EIBESBRUNN'):
@ -366,7 +366,7 @@ def lookup_gem_name(name: str) -> List[Tuple[int, int]]:
return [(6027, 30859), (6007, 30859)] return [(6027, 30859), (6007, 30859)]
elif name.lower() == 'grub': elif name.lower() == 'grub':
name = 'Grub an der March' name = 'Grub an der March'
elif CLIENT == WG.WKW: elif CLIENT == WG.WINZERKELLER:
hkid = "'WLWV', 'WIEN', 'WLWG'" hkid = "'WLWV', 'WIEN', 'WLWG'"
if name.endswith('*'): if name.endswith('*'):
name = name[:-1].strip() name = name[:-1].strip()
@ -466,7 +466,7 @@ def lookup_hkid(kgnr: Optional[int], qualid: str) -> str:
if qualid in ('WEI', 'RSW'): if qualid in ('WEI', 'RSW'):
return 'OEST' return 'OEST'
elif kgnr is None: elif kgnr is None:
if CLIENT in (WG.MATZEN, WG.WKW): if CLIENT in (WG.MATZEN, WG.WINZERKELLER):
hkid = 'WLNO' hkid = 'WLNO'
else: else:
cur = DB_CNX.cursor() cur = DB_CNX.cursor()
@ -536,7 +536,7 @@ def migrate_grosslagen(in_dir: str, out_dir: str) -> None:
f.header('glnr', 'name') f.header('glnr', 'name')
for gl in utils.csv_parse_dict(f'{in_dir}/TGrosslagen.csv'): for gl in utils.csv_parse_dict(f'{in_dir}/TGrosslagen.csv'):
glnr += 1 glnr += 1
if CLIENT == WG.WKW and gl['GLNR'] == 8: if CLIENT == WG.WINZERKELLER and gl['GLNR'] == 8:
GROSSLAGE_MAP[8] = 6 GROSSLAGE_MAP[8] = 6
continue continue
GROSSLAGE_MAP[gl['GLNR']] = glnr GROSSLAGE_MAP[gl['GLNR']] = glnr
@ -631,7 +631,7 @@ def migrate_area_commitment_types(in_dir: str, out_dir: str) -> None:
if CLIENT == WG.MATZEN: if CLIENT == WG.MATZEN:
bio = ['GV', 'ZW', 'MT'] bio = ['GV', 'ZW', 'MT']
f.row('BM', 'BM', None, None, None, None, None, None) f.row('BM', 'BM', None, None, None, None, None, None)
elif CLIENT == WG.WKW: elif CLIENT == WG.WINZERKELLER:
bio = ['GV', 'ZW', 'WR', 'MT', 'RR', 'WB', 'CH', 'MU'] bio = ['GV', 'ZW', 'WR', 'MT', 'RR', 'WB', 'CH', 'MU']
for sortid in bio: for sortid in bio:
f.row(f'{sortid}B', sortid, 'B', None, None, None, None, None) f.row(f'{sortid}B', sortid, 'B', None, None, None, None, None)
@ -644,7 +644,7 @@ def normalize_name(family_name: str, given_name: str) -> Tuple[Optional[str], Op
def is_alpha(s: str) -> bool: def is_alpha(s: str) -> bool:
return all(c in letters for c in s) if s.lower() not in double_names else True return all(c in letters for c in s) if s.lower() not in double_names else True
if CLIENT == WG.WKW: if CLIENT == WG.WINZERKELLER:
if 'BEZIRKSBAUERNKAMMER' == family_name: if 'BEZIRKSBAUERNKAMMER' == family_name:
return None, None, None, None, None, 'Bezirksbauernkammer Mistelbach' return None, None, None, None, None, 'Bezirksbauernkammer Mistelbach'
elif (given_name, family_name) == ('LANDW.', 'FACHSCHULE'): elif (given_name, family_name) == ('LANDW.', 'FACHSCHULE'):
@ -772,7 +772,7 @@ def migrate_members(in_dir: str, out_dir: str) -> None:
given_name = given_name or '' given_name = given_name or ''
if CLIENT == WG.MATZEN and given_name.startswith(' '): if CLIENT == WG.MATZEN and given_name.startswith(' '):
funktionaer = True funktionaer = True
if CLIENT == WG.WKW and ('*' in family_name or '*' in given_name or '(+)' in family_name or '(+)' in given_name): if CLIENT == WG.WINZERKELLER and ('*' in family_name or '*' in given_name or '(+)' in family_name or '(+)' in given_name):
deceased = True deceased = True
family_name = family_name.replace('*', '').replace('(+)', '') family_name = family_name.replace('*', '').replace('(+)', '')
given_name = given_name.replace('*', '').replace('(+)', '') given_name = given_name.replace('*', '').replace('(+)', '')
@ -863,7 +863,7 @@ def migrate_members(in_dir: str, out_dir: str) -> None:
print(address, new_address) print(address, new_address)
raise RuntimeError() raise RuntimeError()
address = parts[-1] address = parts[-1]
if CLIENT == WG.WKW and ort == 'JETZELDORF': if CLIENT == WG.WINZERKELLER and ort == 'JETZELDORF':
ort = 'JETZELSDORF' ort = 'JETZELSDORF'
if ort: if ort:
ort = ort.upper().strip() ort = ort.upper().strip()
@ -904,7 +904,7 @@ def migrate_members(in_dir: str, out_dir: str) -> None:
email = f'{parts[0]}@{parts[1].lower()}' email = f'{parts[0]}@{parts[1].lower()}'
zwstid = m['ZNR'] and BRANCH_MAP[m['ZNR']] or len(BRANCH_MAP) == 1 and list(BRANCH_MAP.values())[0] zwstid = m['ZNR'] and BRANCH_MAP[m['ZNR']] or len(BRANCH_MAP) == 1 and list(BRANCH_MAP.values())[0]
if CLIENT == WG.WKW and plz == 1228: if CLIENT == WG.WINZERKELLER and plz == 1228:
plz = 1020 plz = 1020
postal_dest = lookup_plz(plz, ort, address) postal_dest = lookup_plz(plz, ort, address)
@ -947,7 +947,7 @@ def migrate_members(in_dir: str, out_dir: str) -> None:
phone_3: Optional[str] = m['Mobiltelefon'] phone_3: Optional[str] = m['Mobiltelefon']
numbers = [] numbers = []
if CLIENT == WG.WKW: if CLIENT == WG.WINZERKELLER:
# Telefax (phone_2) not used # Telefax (phone_2) not used
numbers = {} numbers = {}
@ -1324,7 +1324,7 @@ def migrate_deliveries(in_dir: str, out_dir: str) -> None:
MODIFIER_MAP[name] = mod MODIFIER_MAP[name] = mod
if CLIENT == WG.MATZEN: if CLIENT == WG.MATZEN:
mod['id'] = name[-1] if name.startswith('Klasse') else 'TB' if name == 'Treuebonus' else 'PZS' mod['id'] = name[-1] if name.startswith('Klasse') else 'TB' if name == 'Treuebonus' else 'PZS'
elif CLIENT == WG.WKW: elif CLIENT == WG.WINZERKELLER:
mod['id'] = { mod['id'] = {
1: 'KA', 2: 'LG', 3: 'MG', 4: 'SG', 1: 'KA', 2: 'LG', 3: 'MG', 4: 'SG',
5: 'VT', 6: 'MV', 7: 'LW', 8: 'VL', 5: 'VT', 6: 'MV', 7: 'LW', 8: 'VL',
@ -1410,7 +1410,7 @@ def migrate_deliveries(in_dir: str, out_dir: str) -> None:
attributes.add('HK') attributes.add('HK')
if 'W' in attributes: if 'W' in attributes:
attributes.remove('W') attributes.remove('W')
elif CLIENT == WG.WKW: elif CLIENT == WG.WINZERKELLER:
if 'F' in attributes: if 'F' in attributes:
attributes.remove('F') attributes.remove('F')
@ -1690,7 +1690,7 @@ def migrate_parameters(in_dir: str, out_dir: str) -> None:
} }
tokens = { tokens = {
WG.MATZEN: ('WGM', 'WG Matzen'), WG.MATZEN: ('WGM', 'WG Matzen'),
WG.WKW: ('WKW', 'WKW') WG.WINZERKELLER: ('WKW', 'WKW')
}.get(CLIENT, (None, None)) }.get(CLIENT, (None, None))
ort = params['MANDANTENORT'].title() ort = params['MANDANTENORT'].title()