U
    IùƒjÚ  ã                   @   sj   d dl Z d dlZd dlZd dlmZ d dlmZ dddddd	hZe d
ej	¡Z
dd„ Zdd„ Zdd„ ZdS )é    N)Úslugify)ÚQuestion_Bankz.mp4z.movz.m4vz.webmz.aviz.mkvz&^(?:q(?:uestion)?[\s_-]*)?\(?(\d+)\)?$c                   C   s   t j d¡jS )NÚexplanation_video)r   Ú_metaÚ	get_fieldÚstorage© r   r   ú@/var/www/html/crackeverytest/admin_app/question_video_service.pyÚexplanation_video_storage   s    r
   c                 C   s(   t | jp
dƒpd | j¡}t dd|¡S )zDStorage-relative folder clients use inside the Space's media folder.Ú zmock-{0}Ú	questionsr   )r   Ú
mock_titleÚformatÚidÚ	posixpathÚjoin)Ú	mock_testZtitle_folderr   r   r	   Úmock_video_folder   s    r   c                 C   sj   t j t j | pd¡¡\}}| ¡ }|tkr>td |p8d¡ƒ‚t 	| 
¡ ¡}|sXtdƒ‚t| d¡ƒ|fS )Nr   z Unsupported video extension: {0}ÚnonezIFilename must be a question number, for example 1.mp4, (1).mp4 or Q1.mp4.é   )ÚosÚpathÚsplitextÚbasenameÚlowerÚALLOWED_VIDEO_EXTENSIONSÚ
ValueErrorr   ÚQUESTION_NUMBER_PATTERNÚ	fullmatchÚstripÚintÚgroup)ÚfilenameÚstemÚ	extensionÚmatchr   r   r	   Úparse_question_number"   s    ÿr&   )r   r   ÚreÚdjango.utils.textr   Úlearn.modelsr   r   ÚcompileÚ
IGNORECASEr   r
   r   r&   r   r   r   r	   Ú<module>   s$   ú	þ