parent
d99c246de2
commit
ea3fb8ca7f
@ -0,0 +1,23 @@
|
|||||||
|
from src.fmt.abstract_formatter import AbstractFormatter
|
||||||
|
from src.fmt.item_formatter import ItemFormatter
|
||||||
|
|
||||||
|
class CategoryFormatter(AbstractFormatter):
|
||||||
|
def format(self, category) -> str:
|
||||||
|
name = category['name']
|
||||||
|
return f"#### {name}\n"
|
||||||
|
|
||||||
|
def format_all(self, cities: dict, header: str = "# Категорії\n\n") -> str:
|
||||||
|
formated_message = header
|
||||||
|
|
||||||
|
item_formatter = ItemFormatter()
|
||||||
|
|
||||||
|
for category in cities['data']:
|
||||||
|
formated_category = self.format(category)
|
||||||
|
formated_message += formated_category
|
||||||
|
|
||||||
|
if 'items' in category:
|
||||||
|
formated_items = item_formatter.format_all(category['items'])
|
||||||
|
formated_message += formated_items
|
||||||
|
|
||||||
|
return formated_message
|
||||||
|
|
@ -0,0 +1,12 @@
|
|||||||
|
from src.fmt.city_formatter import CityFormatter
|
||||||
|
|
||||||
|
class CompanyFormatter(CityFormatter):
|
||||||
|
def format_all(self, companies: dict, header: str = "# Компанії\n\n") -> str:
|
||||||
|
formated_message = header
|
||||||
|
|
||||||
|
for company in companies['data']:
|
||||||
|
formated_item = self.format(company)
|
||||||
|
formated_message += formated_item
|
||||||
|
|
||||||
|
return formated_message
|
||||||
|
|
@ -0,0 +1,19 @@
|
|||||||
|
from src.fmt.abstract_formatter import AbstractFormatter
|
||||||
|
|
||||||
|
class ItemFormatter(AbstractFormatter):
|
||||||
|
def format(self, item) -> str:
|
||||||
|
name = item['name']
|
||||||
|
price = item['price']
|
||||||
|
return f"- {name} - {price} ₴\n"
|
||||||
|
|
||||||
|
def format_all(self, items: dict, header: str = "") -> str:
|
||||||
|
formated_message = header
|
||||||
|
|
||||||
|
items = items['data'] if 'data' in items else items
|
||||||
|
|
||||||
|
for item in items:
|
||||||
|
formated_item = self.format(item)
|
||||||
|
formated_message += formated_item
|
||||||
|
|
||||||
|
return formated_message
|
||||||
|
|
Loading…
Reference in new issue