U
    sc                     @   s4   d dl mZ d dlmZ dd Zdd Zdd Zd	S )
    )serializers)dic_validetorc                	   C   s4   dddddddddddddddddgd	S )
Ng        r      )Zstarcount            )Zaverager   	histogram r   r   r   //var/www/wikiazma_server/question_bank/utils.pydefault_rates   s&    r   c                  C   s   ddl m}  ddlm} |j }|D ]N}| jj|dd }||jkr&t	d|j d| d|j
  ||_|  q&t	d	 d S )
Nr   )Question)QuestionBankF)question_bankdeletedzquestion count changed from z to z for question bank with id=done)Zquestion.modelsr   Zquestion_bank.modelsr   objectsallfilterr   questions_countprintidsave)r   r   Zquestion_banksr   Zreal_questions_countr   r   r   'check_and_fix_questions_count_integrity#   s    


r   c              
   C   sP   dt d}dtd}||g}g }| D ]&}t|||ddddd t|d  q$| S )Nkey)r   typechildrenfiltersT)datarequired_itemsoptional_itemsZ	error_keymanyZcontainer_nameZraise_error_for_unexpected_key)strlistr   filters_template_validator)r   r   r   r    r!   r   r   r   r   r%   2   s    


  r%   N)rest_frameworkr   Zutils.validatorsr   r   r   r%   r   r   r   r   <module>   s   