def __post_init__()

in datasets/thelook_ecommerce/pipelines/_images/run_thelook_kub/fake.py [0:0]


    def __post_init__(self, user=None):
        self.parent = user
        self.user_id = user.id
        self.gender = user.gender
        self.status = self.random_item(
            population=["Complete", "Cancelled", "Returned", "Processing", "Shipped"],
            distribution=[0.25, 0.15, 0.1, 0.2, 0.3],
        )
        self.created_at = self.child_created_at()
        # add random generator for days it takes to ship, deliver, return etc.
        if self.status == "Returned":
            self.shipped_at = self.created_at + datetime.timedelta(
                minutes=random.randrange(MINUTES_IN_DAY * 3)
            )  # shipped between 0-3 days after order placed
            self.delivered_at = self.shipped_at + datetime.timedelta(
                minutes=random.randrange(MINUTES_IN_DAY * 5)
            )  # delivered between 0-5 days after ship date
            self.returned_at = self.delivered_at + datetime.timedelta(
                minutes=random.randrange(MINUTES_IN_DAY * 3)
            )  # returned 0-3 days after order is delivered
        elif self.status == "Complete":
            self.shipped_at = self.created_at + datetime.timedelta(
                minutes=random.randrange(MINUTES_IN_DAY * 3)
            )  # shipped between 0-3 days after order placed
            self.delivered_at = self.shipped_at + datetime.timedelta(
                minutes=random.randrange(MINUTES_IN_DAY * 5)
            )  # delivered between 0-5 days after ship date
            self.returned_at = None
        elif self.status == "Shipped":
            self.shipped_at = self.created_at + datetime.timedelta(
                minutes=random.randrange(MINUTES_IN_DAY * 3)
            )  # shipped between 0-3 days after order placed
            self.delivered_at = None
            self.returned_at = None
        else:
            self.shipped_at = None
            self.delivered_at = None
            self.returned_at = None
        self.user = user  # pass person object to order_items
        # randomly generate number of items in an order
        num_of_items = self.random_item(
            population=[1, 2, 3, 4], distribution=[0.7, 0.2, 0.05, 0.05]
        )
        self.num_of_item = num_of_items
        for _ in range(num_of_items):
            order_items.append(dataclasses.asdict(OrderItem(order=self)))