Задача 4
Ты работаешь в компании, занимающейся электронной коммерцией, и она сталкивается с проблемой ручного создания чеков для покупателей. Каждый раз, когда покупатель делает заказ, менеджер компании вручную составляет отчёт по каждому заказу, что тратит время и приводит к ошибкам.
Решение этой задачи заключается в автоматизации процесса генерации чеков. Потребуется создать Python-пакет, который автоматически будет генерировать чек на основе информации о заказе и сохранять его в текстовом файле.
Функциональность пакета
Напиши пакет, который:
- Принимает данные о заказе в виде JSON-файла со следующей структурой:
{
'customer_name': 'Иван Иванов',
'items': [
{'name': 'Телефон', 'quantity': 1, 'price': 20000},
{'name': 'Наушники', 'quantity': 2, 'price': 1500}
]
}
- Создаёт текстовый файл с чеком, который содержит:
- имя клиента,
- список товаров (название товара, количество, цена за единицу),
- общую сумма заказа.
- Поддерживает запуск через командную строку с опциями:
--input-fileдля указания входного файла.json,--output-fileдля указания выходного файла.txt.
Используй следующие имена переменных:
customer_name— имя клиента,items— список товаров, где каждый товар содержит:name— название товара,quantity— количество единиц товара,price— цена за единицу товара.
Сборка пакета и публикация
Когда код написан и проверен, подготовь его к публикации.
-
Используй
Eggдля сборки пакета. Для этого нужно создать файлsetup.py, в котором будут указаны все метаданные и параметры сборки проекта. -
Собери пакет и опубликуй его на PyPI с помощью соответствующих утилит.
Проверка работоспособности
Установи пакет с PyPI в другой проект и проверь его работоспособность.
Release files for cu-receipt 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cu_receipt-0.1.0.tar.gz | 3.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cu_receipt-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.4 kB
Release files / cu_receipt-0.1.0.tar.gz
| Download URL | cu_receipt-0.1.0.tar.gz |
|---|---|
| Size | 3.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b375e70ed349118cb1b9f70b963fd07fd0a9d826d9b3e95573cf554a417cbd5f
|
|
BLAKE2b-256 checksum How to use checksums |
6d298d56c5104211c028a657d9422320310b826c912e5ef823edc9b61b15a4f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.9
|
Release files / cu_receipt-0.1.0-py3-none-any.whl
| Download URL | cu_receipt-0.1.0-py3-none-any.whl |
|---|---|
| Size | 3.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
78b35419e1de886166c9e0677e23eb3b35566ca075a999a5ee1173a8f21e1560
|
|
BLAKE2b-256 checksum How to use checksums |
f13a0ead77330a97813b2783fdbf394e3cd79f31d28246cb5b1d35ffc51a0147
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.9
|