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