Консольная телефонная книга, работающая с .csv файлом. С помощью неё можно:
- 👀 Смотреть все записи в книге с пагинацией.
- 🆕 Добавлять новые записи в книгу.
- 🗳️ Удалять ненужные записи.
- 🔄 Обновлять записи.
- 👓 Искать записи по одному или нескольким критериям.
-
Склонируйте себе этот репозиторий:
git clone https://github.com/xaer981/phone_book.git
cd phone_book/
-
Затем создайте виртуальное окружение и установите зависимости:
Windows
python -m venv venv
source venv/Scripts/activate
pip install -r requirements.txt
Mac
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
-
Запускаем!
python -m src.main <режим работы>
-
Для добавления тестовых данных в книгу:
Через консоль
mkdir -p src/book
cp phone_book.csv src/book/
Через графический интерфейс ОС
1. Создайте папку book внутри папки src. 2. Скопируйте в папку src/book файл phone_book.csv
-
get-all - получение всех записей в книге.
-
Можно не передавать ничего дополнительно, автоматически выводятся первые 5 записей. Над таблицей отображается текущая страница и общее количество страниц.
-
Для навигации по страницам используйте флаг -p (--page), например:
python -m src.main get-all -p 2
илиpython -m src.main get-all --page 3
-
-
add - добавить запись в книгу.
- После запуска команды начинается сбор данных о контакте.
- Обязательные поля - имя, номер телефона.
- Остальные поля необязательны (отмечены значком [])
- Номер телефона и рабочий номер телефона можно вводить:
- в привычном формате
89991234567
- или в международном
+79991234567
79991234567
.
- в привычном формате
-
delete - удалить запись из книги.
- Обязательно следует посмотреть ID удаляемого контакта через get-all, а затем передать этот ID через параметр -i (--id).
python -m src.main delete -i 1
илиpython -m src.main delete --id 2
- Обязательно следует посмотреть ID удаляемого контакта через get-all, а затем передать этот ID через параметр -i (--id).
-
update - обновить данные о контакте.
- Обязательно следует посмотреть ID обновляемого контакта через get-all, а затем передать этот ID через параметр -i (--id).
python -m src.main update -i 1
илиpython -m src.main update --id 2
.- После этого начинается сбор данных о контакте, аналогично добавлению нового контакта.
-
search - найти нужного контакта в книге.
- Нужный контакт можно найти с помощью одного (или нескольких) параметров:
- -f (--first_name) - поиск контакта по имени.
python -m src.main search -f Андрей
- -l (--last_name) - поиск контакта по фамилии.
python -m src.main search -l Петров
- -fr (--father_name) - поиск контакта по отчеству.
python -m src.main search -fr Игоревич
- -c (--company) - поиск контакта по компании.
python -m src.main search -c Effective Mobile
- -n (--number) - поиск контакта по номеру телефона.
python -m src.main search -n +7 999 123 45 67
- -wn (--work_number) - поиск контакта по рабочему номеру телефона.
python -m src.main search -wn +7 999 123 45 67
- -f (--first_name) - поиск контакта по имени.
- Нужный контакт можно найти с помощью одного (или нескольких) параметров:
Tip
Можно использовать сразу несколько фильтров! python -m src.main search -f Андрей -l Петров
В случае, если найденных контактов много, то можно использовать пагинацию с помощью параметра страницы -p (--page). python -m src.main search -f Андрей -l Петров -p 2
Made by: xaer981