from django import template

register = template.Library()


@register.filter(name='how_many_is_in_cart')
def how_many_is_in_cart(product, cart):
    product_id=str(product.id) # چون عدد هست و اینت. در حالی که ما اون ور استرینگ ذخیره کرده بودیم.
    cart_info = cart.cart # تو کارت رکوئست و سشن و کارت رو ذخیره کرده بودیم که الان فقط با کارتش که دیکشنری هست کار دارم.
    if product_id in cart: # چون تابع داندر کانتین رو برای خود کلاس کارت نوشتم، روی یه نمونه از کلاس کارت میتونم از اپراتور این استفاده کنم. اگه تابع داندر کانتین رو ننویسیم پایتون میره سراغ ایتر و خلاصه مشکل داشت اینجا که نوشتمش. جالب و ساده هم بود.
        quantity = cart_info.get(product_id).get('quantity')
        return quantity
    # if product_id in cart_info: # البته تست کردم رو کارت اینفو هم از اپراتور این استفاده کردم کار میکرد. چون یه دیکشنری هست و خود دیکشنری ها دارن این ویژگی رو. به هر حال چون چیز جالبی بود و تازه یاد گرفتم گذاشتم که باشه همون بالاییه. در حالی که اگه اون رو بردارم میتونم تو کلاس کارت تابع داندر کانتینز رو حذف کنم.
    return 0
    
