Add formatters, tests.

This commit is contained in:
2023-06-16 17:21:39 +03:00
parent 0de06aaf97
commit a95638a6d5
6 changed files with 40 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
+11
View File
@@ -0,0 +1,11 @@
from abc import ABC, abstractmethod
class AbstractFormatter(ABC):
@abstractmethod
def format(self, obj) -> str:
pass
@abstractmethod
def format_all(self, objs) -> str:
pass
+16
View File
@@ -0,0 +1,16 @@
from src.fmt.abstract_formatter import AbstractFormatter
class CityFormatter(AbstractFormatter):
def format(self, city) -> str:
name = city['name']
return f"- {name}\n"
def format_all(self, cities: dict) -> str:
formated_message = "Cities:\n\n"
for city in cities['data']:
formated_item = self.format(city)
formated_message += formated_item
return formated_message