Orders are now iterable

This commit is contained in:
Pablo Martin 2023-08-03 17:24:42 +02:00
parent 55b06dbbb0
commit 362549e52e

View file

@ -47,10 +47,22 @@ class Orders:
def __len__(self):
return len(self._orders)
def __iter__(self):
self._index = 0
return self
def __next__(self):
if self._index < len(self._orders):
next_order = self._orders[self._index]
self._index += 1
return next_order
raise StopIteration
def filter_orders_by_skus(self, skus: List[str]) -> "Orders":
filtered_orders = []
for order in self._orders:
for order in self:
for sku in skus:
if order.contains_sku(sku):
filtered_orders.append(order)
@ -60,7 +72,7 @@ class Orders:
def filter_orders_without_sats_received(self) -> "Orders":
orders_without_sats_received = []
for order in self._orders:
for order in self:
if not order.contains_meta_data_entry(custom_meta_data_keys.sats_received):
orders_without_sats_received.append(order)
continue
@ -70,7 +82,7 @@ class Orders:
def filter_unsettled_orders(self) -> "Orders":
unsettled_orders = []
for order in self._orders:
for order in self:
if not order.is_settled_with_um():
unsettled_orders.append(order)