Untitled
unknown
plain_text
a year ago
1.5 kB
7
Indexable
from inventory_report.inventory import Inventory
from datetime import datetime
from inventory_report.reports.report import Report
class SimpleReport(Report):
def __init__(self):
self.inventory_data = []
def add_inventory(self, inventory: Inventory) -> None:
self.inventory_data.append(inventory)
def _get_oldest_manufacturing_date(self) -> str:
return min(
product.manufacturing_date for inventory in self.inventory_data for product in inventory.data
)
def _get_closest_expiration_date(self) -> str:
return min(
product.expiration_date for inventory in self.inventory_data for product in inventory.data
)
def _get_largest_company(self) -> str:
companies = [product.company_name for inventory in self.inventory_data for product in inventory.data]
return max(companies, key=companies.count)
def generate(self) -> str:
if not self.inventory_data:
return "Inventory is empty"
oldest_manufacturing_date = self._get_oldest_manufacturing_date()
closest_expiration_date = self._get_closest_expiration_date()
largest_company = self._get_largest_company()
result = (
f"Oldest manufacturing date: {oldest_manufacturing_date}\n"
f"Closest expiration date: {closest_expiration_date}\n"
f"Company with the largest inventory: {largest_company}"
)
return resultEditor is loading...
Leave a Comment