NOJIRA added Levenshtein decider

This commit is contained in:
2021-09-17 13:55:03 +02:00
parent b4b41d24b9
commit 022112fc2d
6 changed files with 88 additions and 52 deletions

View File

@@ -1,41 +0,0 @@
from typing import List, Dict
from models.item import Item
from models.order import Order
class DTO:
def __init__(self):
self.__applicants: List[str] = []
self.__items: Dict[str, int] = {}
self.__orders: List[Order] = []
def add(self,
applicant_name: str,
item_names: List[str]
) -> None:
self.__applicants.append(applicant_name)
for item_name in item_names:
if item_name not in self.__items:
self.__items[item_name] = 0
self.__items[item_name] += 1
order = Order(applicant_name, item_names)
self.__orders.append(order)
@property
def items(self) -> List[Item]:
return sorted([Item(name, amount) for name, amount in self.__items.items()])
@property
def item_count(self) -> int:
return sum(self.__items.values())
@property
def applicants(self) -> List[str]:
return sorted(self.__applicants)
@property
def orders(self) -> List[Order]:
return sorted(self.__orders)

View File

@@ -3,10 +3,10 @@ from typing import List
class Order:
def __init__(self,
name: str,
items: List[str]):
self.name = name
self.items = items
applicant_name: str,
item_names: List[str]):
self.name = applicant_name
self.items = item_names
def __lt__(self: "Order",
other: "Order"

29
src/models/order_total.py Normal file
View File

@@ -0,0 +1,29 @@
from typing import List, Dict
from item_builder import ItemBuilder
from models.item import Item
from models.order import Order
class OrderTotal:
def __init__(self):
self.__orders: List[Order] = []
def add(self, order: Order) -> None:
self.__orders.append(order)
@property
def items(self) -> List[Item]:
return ItemBuilder(self.__orders).build()
@property
def item_count(self) -> int:
return sum([len(o.items) for o in self.__orders])
@property
def applicants(self) -> List[str]:
return sorted([o.name for o in self.__orders])
@property
def orders(self) -> List[Order]:
return sorted(self.__orders)