def _generate_name_query(pattern, names, exact): vorname, zweiter_vorname, vorname_kurz, nachname = name_logic.parse_name_combination( names, pattern) vorname = escape_SQL(vorname) nachname = escape_SQL(nachname) vorname_kurz = escape_SQL(vorname_kurz) zweiter_vorname = escape_SQL(zweiter_vorname) # Problem Adèle Thorens-Goumaz vs Adèle Thorens Goumaz # case Stefan vs Stefano Kunz (person_id 390 and 663) # case Streiff vs Streiff-Feller (parlamentarier_id 195) if exact: query = " AND (nachname = '{}' OR nachname = '{}' OR nachname = '{}')".format( vorname, nachname, nachname.replace('-', ' '), re.sub(r'-.*', '', nachname)) if vorname: query += " AND vorname = '{}'".format(vorname) if zweiter_vorname: query += " AND zweiter_vorname = '{}'".format(zweiter_vorname) if vorname_kurz: query += " AND vorname_kurz = '{}'".format(vorname_kurz) else: query = " AND (vorname LIKE '{}%' OR vorname_kurz LIKE '{}%') AND (nachname LIKE '{}%' OR nachname LIKE '{}%' OR nachname LIKE '{}%' OR nachname LIKE '%{}')".format( vorname, vorname_kurz, nachname, nachname.replace('-', ' '), re.sub(r'-.*', '', nachname), nachname) if zweiter_vorname: query += " AND zweiter_vorname LIKE '{}%'".format(zweiter_vorname) return query
def _generate_name_query(pattern, names): vorname, zweiter_vorname, nachname = name_logic.parse_name_combination( names, pattern) query = " AND vorname LIKE '{}%' AND nachname LIKE '{}%'".format( vorname, nachname) if zweiter_vorname: query += " AND zweiter_vorname LIKE '{}%'".format(zweiter_vorname) return query
def _generate_name_query(names, pattern): vorname, zweiter_vorname, nachname = name_logic.parse_name_combination( pattern, names) query = " AND vorname LIKE '{}%' AND nachname LIKE '{}%'".format( vorname, nachname) if zweiter_vorname: query += " AND zweiter_vorname LIKE '{}%'".format(zweiter_vorname) return query