No project description provided
Project description
🍕 Dodo IS API Wrapper
Installation
Via pip:
pip install dodo-is-api
Via poetry:
poetry add dodo-is-api
📝 Changelog is here.
🧪 Usage:
- Delivery:
- Production:
🛵 Get late delivery vouchers:
import datetime
from uuid import UUID
from dodo_is_api.connection import DodoISAPIConnection
from dodo_is_api.connection.http_clients import closing_http_client
from dodo_is_api.mappers import map_late_delivery_voucher_dto
access_token = 'my-token'
country_code = 'kg'
units = [UUID('e0ce0423-3064-4e04-ad3e-39906643ef14'), UUID('bd09b0a8-147d-46f7-8908-874f5f59c9a2')]
from_date = datetime.datetime(year=2023, month=3, day=16)
to_date = datetime.datetime(year=2023, month=3, day=17)
with closing_http_client(access_token=access_token, country_code=country_code) as http_client:
dodo_is_api_connection = DodoISAPIConnection(http_client=http_client)
# it will handle pagination for you
for late_delivery_vouchers in dodo_is_api_connection.iter_late_delivery_vouchers(
from_date=from_date,
to_date=to_date,
units=units
):
# map to dataclass DTO if you need
late_delivery_voucher_dtos = [
map_late_delivery_voucher_dto(late_delivery_voucher)
for late_delivery_voucher in late_delivery_vouchers
]
...
📦 Get stop sales:
import datetime
from uuid import UUID
from dodo_is_api.connection import DodoISAPIConnection
from dodo_is_api.connection.http_clients import closing_http_client
from dodo_is_api.mappers import map_stop_sale_by_ingredient_dto
access_token = 'my-token'
country_code = 'kg'
units = [UUID('e0ce0423-3064-4e04-ad3e-39906643ef14'), UUID('bd09b0a8-147d-46f7-8908-874f5f59c9a2')]
from_date = datetime.datetime(year=2023, month=3, day=16)
to_date = datetime.datetime(year=2023, month=3, day=17)
with closing_http_client(access_token=access_token, country_code=country_code) as http_client:
dodo_is_api_connection = DodoISAPIConnection(http_client=http_client)
# for products - dodo_is_api_connection.get_stop_sales_by_products
# for sales channels - dodo_is_api_connection.get_stop_sales_by_sales_channels
stop_sales = dodo_is_api_connection.get_stop_sales_by_ingredients(
from_date=from_date,
to_date=to_date,
units=units
)
# map to dataclass DTO if you need
# use suitable mapper
# in this case, ingredient stop sale mapper is used
late_delivery_voucher_dtos = [
map_stop_sale_by_ingredient_dto(stop_sale)
for stop_sale in stop_sales
]
...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dodo_is_api-0.3.0.tar.gz
(6.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dodo_is_api-0.3.0.tar.gz.
File metadata
- Download URL: dodo_is_api-0.3.0.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.10.7 Darwin/22.3.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38cbe90c506dd7850048b801082ea6aa95ffb9f480563f213bf8649ecc42d540
|
|
| MD5 |
1f8428c56c7036cd9fd370d3932313ac
|
|
| BLAKE2b-256 |
c8b92dccaadc63aec203046dc04f435086eb33fc91ef2a5342c90e8b42c94f8b
|
File details
Details for the file dodo_is_api-0.3.0-py3-none-any.whl.
File metadata
- Download URL: dodo_is_api-0.3.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.1 CPython/3.10.7 Darwin/22.3.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a08347e1a9ea1c4525be047454a9d72f3c84471034f21a0004ad27457f834ef
|
|
| MD5 |
236b6761f30340bfdf89c992c76228a0
|
|
| BLAKE2b-256 |
dc7b30598fe9d88a9831c4a0ab0d227721049c5673a411fd395a4be6f2816dec
|