def add_phone_number(contact): new_number = get_phone_number_input() # Kontakt ändern contact["Rufnummern"].append(new_number) # Geänderten Kontakt in DB schreiben crud_db.update(contact) made_changes = True
def change_email(contact): # Alle E-Mails eines Kontaktes ausgeben. print("\nDer Kontakt hat folgende E-Mail-Adressen: ") counter = 0 for item in contact["E-Mail-Adressen"]: counter = counter + 1 print(str(counter) + ": " + item["Typ"] + ": " + item["E-Mail"]) # Abfrage, welche E-Mail geändert werden soll. repeat = True while repeat: index = input( "\nWelche E-Mail-Adresse möchten sie bearbeiten? ('cancel' für Abbrechen)" ) if is_number(index): index = int(index) # Überprüfen, ob der angegebene Index existiert. if index > 0 and index <= len(contact["E-Mail-Adressen"]): repeat = False # Abfrage, ob die E-Mail geändert oder gelöscht werden soll. repeat2 = True while repeat2: change_or_delete = input( "Möchten Sie die E-Mail-Adresse ändern (change) oder löschen (delete)? ('cancel' für Abbrechen)" ) if change_or_delete == "change": repeat2 = False contact["E-Mail-Adressen"][index - 1] = get_email_input() # Geänderten Kontakt in DB schreiben crud_db.update(contact) made_changes = True print("Erfolgreich geändert!") elif change_or_delete == "delete": repeat2 = False del contact["E-Mail-Adressen"][index - 1] # Geänderten Kontakt in DB schreiben crud_db.update(contact) made_changes = True print("Erfolgreich gelöscht!") elif change_or_delete == "cancel": repeat2 = False print("Abgebrochen") else: print("Falsche Eingabe!") else: print("Dieser Index ist nicht vergeben!") elif index == "cancel": print("Abgebrochen!") else: print("Bitte einen Index angeben!")
def change_contact(): # 1. Liste auf Einträge prüfen. # 2. Position (Kontakt) auswählen. # 3. Die zu bearbeitende Spalte auswählen. # 4. Falls Email oder Rufnummer: bearbeiten oder neues Objekt hinzufügen # Entsprechende change und add Funktionen aufrufen. # 5. Falls Name, Straße etc. nach Input abfragen. # Überprüfen, ob die Liste leer ist. if crud_db.get_len() == 0: print("Die Liste ist leer!") else: repeat = True while repeat: contact_index = input( "--> Welche Position möchten Sie ändern? ('cancel' für Abbrechen)" ) # Prüfen, ob die Eingabe numerisch ist und ob die Position existiert. if contact_index.isnumeric(): contact_index = int(contact_index) # Kontakt als Variable festhalten. contact = crud_db.search_by_id(contact_index) # Wenn Contact auch einen Kontakt enthält if not contact == -1: repeat = False # Abfragen, welche Spalte geändert werden soll. repeat2 = True while repeat2: print("") print( "Welche Spalte möchten Sie bearbeiten?\n" "1: Anrede 2: Name 3: Vorname 4: Straße 5: Hausnummer" ) print( "6: PLZ 7: Stadt 8: Rufnummern 9: E-Mail-Adressen 10: Abbrechen" ) print("") column_index = input("Ihre Eingabe:") # Überprüfen, ob Eingabe numerisch und kleiner 11. if column_index.isnumeric(): column_index = int(column_index) if column_index < 10 and column_index > 0: repeat2 = False # Änderung wird abgebrochen. if column_index == 11: repeat2 = False # Spalte wurde ausgewählt und entsprechende Abfrage wird ausgeführt. else: # Liste, um die Strings den Funktionen get_input und change_column zu übergeben. columns = [ "Anrede", "Name", "Vorname", "Straße", "Hausnummer", "PLZ", "Stadt", "Rufnummern", "E-Mail-Adressen" ] column = columns[column_index - 1] # Überprüfen, ob Rufnummern oder E-Mail-Adressen geändert werden sollen. if column == "Rufnummern": repeat3 = True while repeat3: change_or_add = input( "Möchten Sie eine Rufummer bearbeiten (change) oder hinzufügen (new)? ('cancel' für abbrechen)" ) if change_or_add == "change": change_phone_number(contact) repeat3 = False elif change_or_add == "new": add_phone_number(contact) repeat3 = False elif change_or_add == "cancel": print("Abgebrochen!") return else: print("Falsche Eingabe!") elif column == "E-Mail-Adressen": repeat3 = True while repeat3: change_or_add = input( "Möchten Sie eine E-Mail-Adresse bearbeiten (change) oder hinzufügen (new)? ('cancel' für abbrechen)" ) if change_or_add == "change": change_email(contact) repeat3 = False elif change_or_add == "new": add_email(contact) repeat3 = False elif change_or_add == "cancel": print("Abgebrochen!") return else: print("Falsche Eingabe!") else: old_value = contact[column] new_value = get_input(column) # Alten Wert überschreiben contact[column] = new_value # In DB schreiben crud_db.update(contact) made_changes = True print("Die Spalte wurde geändert!") else: print("Bitte einen Wert von 1 bis 9 eingeben!") else: print("Bitte eine Nummer eingeben!") else: print("Falsche Eingabe!") elif contact_index == "cancel": print("Abgebrochen!") return else: print("Falsche Eingabe!")
def add_email(contact): new_email = get_email_input() contact["E-Mail-Adressen"].append(new_email) crud_db.update(contact) made_changes = True