U
    YHgv                     @   sl   d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	 d dl
mZ G dd deZG dd	 d	e	ejZd
S )    )absolute_import)	BaseQuery)dbdb_model
app_logger)TimestampMixin)Languagec                   @   s>   e Zd Zdd Zdd Zdd Zdd Zdd
dZdd Zd	S )ContentVersionQueryc                 C   s   |  tj|k S N)filterContentVersionidfirst)selfcontent_version_id r   8/var/www/dostadmin/dostadmin/db_model/content_version.pyget_content_version_by_id	   s    z-ContentVersionQuery.get_content_version_by_idc                 C   s   |  tj|ktj S r
   )r   r   
content_idorder_byversionall)r   r   r   r   r   !get_content_version_by_content_id   s    z5ContentVersionQuery.get_content_version_by_content_idc                 C   s   |  tj|ktj|k S r
   )r   r   r   r   r   )r   r   r   r   r   r   get_by_content_id_and_version   s     z1ContentVersionQuery.get_by_content_id_and_versionc                 C   s    |  tj ttjj S r
   )joinr   Contentr   r   namer   )r   r   r   r   get_all_content_versions   s    z,ContentVersionQuery.get_all_content_versionsNc                 C   s6   |st jjd}| tj|ktj|ktjdk	 S )NZhindiactive)
r   r   queryfind_language_id_with_namer   r   r   language_idstatusr   )r   r   r!   r   r   r   .get_content_version_by_content_and_language_id    s    zBContentVersionQuery.get_content_version_by_content_and_language_idc                 C   s"   |  tj|k }|r|jS d S r
   )r   r   exotel_appidr   r   )r   r$   content_versionr   r   r   !find_content_id_with_exotel_appid,   s    z5ContentVersionQuery.find_content_id_with_exotel_appid)N)	__name__
__module____qualname__r   r   r   r   r#   r&   r   r   r   r   r	      s   	 
r	   c                   @   s   e Zd ZdZeZG dd dZejej	ddZ
eej	edZeej	edZeejZeedZeej	Zeej	Zejd	d d
dZedd Zedd ZdS )r   r%   c                   @   s   e Zd ZdZdZdS )zContentVersion.Statusr   ZinactiveN)r'   r(   r)   ACTIVEINACTIVEr   r   r   r   Status9   s   r,   T)primary_keyz
content.idzlanguage.id2   Campaignz0ContentVersion.id == Campaign.content_version_id)backrefprimaryjoinc                 C   sh   t d| t|d }t|d }t|d }t|d }tj|}||_||_||_t	j
  d S )NzAdding content %sr            )r   infointr   r   r   duration_secsr$   r!   r   sessioncommit)clscontent_datar   r7   r$   languagecontent_recr   r   r   update_contentsK   s    zContentVersion.update_contentsc           
      C   s   t d| d }t|d }t|d }t|d }t|d }|d }tjj||d}|rjd| d	 }n*t||||d
|d}	tj|	 tj	  |S )NzAdding versions %sr   r2   r3   r4      )r   r   z	Version: z  Already Exists for this contentr   )r   r!   r$   r7   r"   r   )
r   r5   r6   r   r   r   r   r8   addr9   )
r:   contenterrorsr   r7   r$   r<   r   existing_versioncontent_version_recr   r   r   add_new_content_versionX   s0     
z&ContentVersion.add_new_content_versionN)r'   r(   r)   __tablename__r	   query_classr,   r   ColumnIntegerr   
ForeignKeyr   r!   Floatr   Stringr"   r7   r$   relationshipcampaignclassmethodr>   rE   r   r   r   r   r   5   s&   
r   N)
__future__r   flask_sqlalchemyr   	dostadminr   r   r   dostadmin.mixinsr   Zdostadmin.db_model.languager   r	   Modelr   r   r   r   r   <module>   s   -