B
    `                 @   s6   d dl mZ d dlmZ eddZG dd deZdS )    )F)	get_modelZ	analyticsProductRecordc               @   s0   e Zd ZddddZdd Zdd Zd	d
 ZdS )
Calculator         )Z	num_viewsZnum_basket_additionsZnum_purchasesc             C   s
   || _ d S )N)logger)selfr	    r   J/home/dcms/DCMS/lib/python3.7/site-packages/oscar/apps/analytics/scores.py__init__   s    zCalculator.__init__c             C   s   |    d S )N)calculate_scores)r
   r   r   r   run   s    zCalculator.runc                sP    j d tt j } fdd j D }tjj	t|| d d S )NzCalculating product scoresc                s   g | ]} j | t| qS r   )weightsr   ).0name)r
   r   r   
<listcomp>   s    z/Calculator.calculate_scores.<locals>.<listcomp>)Zscore)
r	   infofloatsumr   valueskeysr   Zobjectsupdate)r
   Ztotal_weightZweighted_fieldsr   )r
   r   r      s
    zCalculator.calculate_scoresN)__name__
__module____qualname__r   r   r   r   r   r   r   r   r      s   r   N)Zdjango.db.modelsr   Zoscar.core.loadingr   r   objectr   r   r   r   r   <module>   s   
