From b08b20ff6fc83723ae6634e1e3c820fe4367606c Mon Sep 17 00:00:00 2001 From: SelamB Date: Sat, 2 Dec 2023 18:50:58 -0800 Subject: [PATCH 1/6] init commit --- package-lock.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..656240d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "M4L3-python-containers-wbp", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} From 1e2fa167d084b4c5632fa56bf7f06f83a4ccceed Mon Sep 17 00:00:00 2001 From: SelamB Date: Sat, 2 Dec 2023 19:17:55 -0800 Subject: [PATCH 2/6] finishes main.py refactor --- python/src/main.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/python/src/main.py b/python/src/main.py index 7bd07c8..0481c55 100644 --- a/python/src/main.py +++ b/python/src/main.py @@ -1,11 +1,29 @@ import contacts -addressbook = [] +addressbook = [ + { 'name': 'Bruce Wayne', 'phone': '555-123-4567', 'email': 'bruce@wayne.com' }, + { 'name': 'Clark Kent', 'phone': '555-222-3333', 'email': 'clark@dailyplanet.com' }, + { 'name': 'Diana Prince', 'phone': '555-444-5555', 'email': 'diana@amazon.com' } +] def menu(): - pass + print('[1] Display all contacts') + print('[2] Add a new contact') + print('[3] Delete a contact') + print('[4] Exit') def main(): - pass + run = True + while run: + menu() + selection = int(input('Enter a selection: ')) + match selection: + case 1: contacts.show_contacts(addressbook) + case 2: contacts.add_contact(addressbook) + case 3: contacts.delete_contact(addressbook) + case 4: run = False + case _: print('That selection is not valid, please try again!') + print('Goodbye!') + main() From e744c145fa895da7bcdc2a6724c8f0d0573974e8 Mon Sep 17 00:00:00 2001 From: SelamB Date: Sat, 2 Dec 2023 20:02:27 -0800 Subject: [PATCH 3/6] finishing deliverable --- python/src/contacts.py | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/python/src/contacts.py b/python/src/contacts.py index 4dce478..7d3b6d5 100644 --- a/python/src/contacts.py +++ b/python/src/contacts.py @@ -1,8 +1,40 @@ def show_contacts(addressbook): - pass + for contact in addressbook: + print(f'{contact["name"]} ({contact["email"]}): {contact["phone"]}') def add_contact(addressbook): - pass + name = input('Enter name: ').strip() + phone = input('Enter phone: ').strip() + email = input('Enter email: ').strip() + newContact = { + 'name': name, + 'phone': phone, + 'email': email + }; + addressbook.append(newContact) + print(f'{name} was added.') def delete_contact(addressbook): - pass + pattern = input('Enter a part of their name: ').strip().lower() + for contact in addressbook: + if pattern in contact['name'].lower(): + addressbook.remove(contact) + print(f'{contact["name"]} was deleted.') + else: + print('Contact Not found!') + + + # # if pattern in contact['name'].lower(): + # # addressbook.remove(contact) + # # print(f'{contact["name"]} was deleted.') + # if pattern not in contact['name'].lower(): + # print('Contact Not found!') + # else: + # addressbook.remove(contact) + # print(f'{contact["name"]} was deleted.') + + + + + + From bb766263c47db8851d1ed207879d52f069f3f4fb Mon Sep 17 00:00:00 2001 From: SelamB Date: Sat, 2 Dec 2023 20:16:47 -0800 Subject: [PATCH 4/6] tests main.py --- python/src/contacts.py | 40 ++++++++++++++++++++++------------------ python/src/main.py | 4 ++-- 2 files changed, 24 insertions(+), 20 deletions(-) diff --git a/python/src/contacts.py b/python/src/contacts.py index 7d3b6d5..3394749 100644 --- a/python/src/contacts.py +++ b/python/src/contacts.py @@ -14,26 +14,30 @@ def add_contact(addressbook): addressbook.append(newContact) print(f'{name} was added.') -def delete_contact(addressbook): - pattern = input('Enter a part of their name: ').strip().lower() - for contact in addressbook: - if pattern in contact['name'].lower(): - addressbook.remove(contact) - print(f'{contact["name"]} was deleted.') - else: - print('Contact Not found!') - - - # # if pattern in contact['name'].lower(): - # # addressbook.remove(contact) - # # print(f'{contact["name"]} was deleted.') - # if pattern not in contact['name'].lower(): - # print('Contact Not found!') - # else: - # addressbook.remove(contact) - # print(f'{contact["name"]} was deleted.') +# def delete_contact(addressbook): +# pattern = input('Enter a part of their name: ').strip().lower() +# for contact in addressbook: +# if pattern in contact['name'].lower(): +# addressbook.remove(contact) +# print(f'{contact["name"]} was deleted.') +# else: +# print('Contact Not found!') +def delete_contact(addressbook): + pattern = input('Enter a part of their name: ').strip().lower() + idx = None + for i in range(len(addressbook)): + if pattern in addressbook[i]['name'].lower(): + idx = i + + if idx is None: + print('Contact Not found!') + return + + deleted_name = addressbook[idx]['name'] + del addressbook[idx] + print(f'{deleted_name} was deleted.') diff --git a/python/src/main.py b/python/src/main.py index 0481c55..f543b66 100644 --- a/python/src/main.py +++ b/python/src/main.py @@ -22,8 +22,8 @@ def main(): case 2: contacts.add_contact(addressbook) case 3: contacts.delete_contact(addressbook) case 4: run = False - case _: print('That selection is not valid, please try again!') - print('Goodbye!') + case _: print(f'\nThat selection is not valid, please try again!\n') + print(f'\nGoodbye!\n') main() From 969aba15440108e886a0c1b49b329bad04f436a4 Mon Sep 17 00:00:00 2001 From: SelamB Date: Sat, 2 Dec 2023 20:34:21 -0800 Subject: [PATCH 5/6] debugging contacts.py --- python/src/contacts.py | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/python/src/contacts.py b/python/src/contacts.py index 3394749..640295c 100644 --- a/python/src/contacts.py +++ b/python/src/contacts.py @@ -2,6 +2,7 @@ def show_contacts(addressbook): for contact in addressbook: print(f'{contact["name"]} ({contact["email"]}): {contact["phone"]}') + def add_contact(addressbook): name = input('Enter name: ').strip() phone = input('Enter phone: ').strip() @@ -12,16 +13,7 @@ def add_contact(addressbook): 'email': email }; addressbook.append(newContact) - print(f'{name} was added.') - -# def delete_contact(addressbook): -# pattern = input('Enter a part of their name: ').strip().lower() -# for contact in addressbook: -# if pattern in contact['name'].lower(): -# addressbook.remove(contact) -# print(f'{contact["name"]} was deleted.') -# else: -# print('Contact Not found!') + print(f'\n{name} was added.\n') def delete_contact(addressbook): @@ -30,15 +22,22 @@ def delete_contact(addressbook): for i in range(len(addressbook)): if pattern in addressbook[i]['name'].lower(): idx = i - if idx is None: - print('Contact Not found!') + print(f'\nContact Not found!\n') return - deleted_name = addressbook[idx]['name'] del addressbook[idx] - print(f'{deleted_name} was deleted.') + print(f'\n{deleted_name} was deleted.\n') +# def delete_contact(addressbook): +# pattern = input('Enter a part of their name: ').strip().lower() +# for contact in addressbook: +# if pattern in contact['name'].lower(): +# addressbook.remove(contact) +# print(f'{contact["name"]} was deleted.') +# else: +# print('Contact Not found!') + From 2b5721927bf4eabd480bb8af3324fdf9d364f0d1 Mon Sep 17 00:00:00 2001 From: SelamB Date: Fri, 8 Dec 2023 09:39:04 -0800 Subject: [PATCH 6/6] passes unittest --- python/src/contacts.py | 3 ++- python/src/main.py | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/python/src/contacts.py b/python/src/contacts.py index 640295c..b1e0bba 100644 --- a/python/src/contacts.py +++ b/python/src/contacts.py @@ -1,7 +1,8 @@ def show_contacts(addressbook): + print() for contact in addressbook: print(f'{contact["name"]} ({contact["email"]}): {contact["phone"]}') - + print() def add_contact(addressbook): name = input('Enter name: ').strip() diff --git a/python/src/main.py b/python/src/main.py index f543b66..49fadee 100644 --- a/python/src/main.py +++ b/python/src/main.py @@ -1,9 +1,9 @@ import contacts addressbook = [ - { 'name': 'Bruce Wayne', 'phone': '555-123-4567', 'email': 'bruce@wayne.com' }, - { 'name': 'Clark Kent', 'phone': '555-222-3333', 'email': 'clark@dailyplanet.com' }, - { 'name': 'Diana Prince', 'phone': '555-444-5555', 'email': 'diana@amazon.com' } + { "name": 'Bruce Wayne', "phone": '555-123-4567', "email": 'bruce@wayne.com' }, + { "name": 'Clark Kent',"phone": '555-222-3333', "email": 'clark@dailyplanet.com' }, + { "name": 'Diana Prince', "phone": '555-444-5555', "email": 'diana@amazon.com' } ] def menu(): @@ -12,6 +12,7 @@ def menu(): print('[3] Delete a contact') print('[4] Exit') + def main(): run = True while run: