17 lines
603 B
Python
17 lines
603 B
Python
|
|
||
|
|
||
|
class PoSOrderData:
|
||
|
"""
|
||
|
Convenience class which allow to easily compare 2 "orders datas" received from PoS ui
|
||
|
"""
|
||
|
|
||
|
def __init__(self, order_data: dict):
|
||
|
self.order_payment_value_sorted = tuple(sorted([(p[2]['amount'], p[2]['payment_method_id']) for p in order_data['statement_ids']]))
|
||
|
self.order_received_lines_sorted = tuple(sorted([(l[2]['product_id'], l[2]['qty'], l[2]['price_unit']) for l in order_data['lines']]))
|
||
|
|
||
|
def __hash__(self):
|
||
|
return hash((
|
||
|
self.order_received_lines_sorted,
|
||
|
self.order_payment_value_sorted,
|
||
|
))
|