
    jJh                         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e      Z G d d	e
ej                        Zy
)    )absolute_import)Query)dbdb_model
app_logger)TimestampMixin)Languagec                   6    e Zd Zd Zd Zd ZddZ	 d	dZd Zy)
ContentVersionQueryc                 b    | j                  t        j                  |k(        j                         S N)filterContentVersionidfirst)selfcontent_version_ids     8/var/www/dostadmin/dostadmin/db_model/content_version.pyget_content_version_by_idz-ContentVersionQuery.get_content_version_by_id	   s&    {{>,,0BBCIIKK    c                     | j                  t        j                  |k(        j                  t        j                        j                         S r   )r   r   
content_idorder_byversionall)r   r   s     r   !get_content_version_by_content_idz5ContentVersionQuery.get_content_version_by_content_id   s5    KK11Z?@Xn,,-SU	
r   c                     | j                  t        j                  |k(  t        j                  |k(        j	                         S r   )r   r   r   r   r   )r   r   r   s      r   get_by_content_id_and_versionz1ContentVersionQuery.get_by_content_id_and_version   s5    {{%%3^5K5Kw5V

%'	r   c                     | j                  t        j                        j                  t              j	                  t        j                  j
                        j                  ||d      S )NF)pageper_page	error_out)joinr   Contentr	   r   namepaginate)r   r    r!   s      r   get_all_content_versionsz,ContentVersionQuery.get_all_content_versions   sH    IIh&&'T(^Xh&&++,X4(eXD		
r   Nc                     |s)t         j                  j                  j                  d      }| j	                  t
        j                  |k(  t
        j                  |k(  t
        j                  dk(        j                         S )Nhindiactive)
r   r	   queryfind_language_id_with_namer   r   r   language_idstatusr   )r   r   r-   s      r   .get_content_version_by_content_and_language_idzBContentVersionQuery.get_content_version_by_content_and_language_id    sg     "++11LLWUK{{%%3&&+5!!X-
 %'		r   c                     | j                  t        j                  |k(        j                         }|r|j                  S y r   )r   r   exotel_appidr   r   )r   r1   content_versions      r   !find_content_id_with_exotel_appidz5ContentVersionQuery.find_content_id_with_exotel_appid,   s<    ++''<7

%' 	 "---r   )      r   )	__name__
__module____qualname__r   r   r   r'   r/   r3    r   r   r   r      s&    L


 '+
r   r   c                   N   e Zd ZdZeZ G d d      Z ej                  ej                  d      Z
 ej                  ej                   ej                  d            Z ej                  ej                   ej                  d            Z ej                  ej                        Z ej                   ej                   d            Z ej                  ej                        Z ej                  ej                        Z ej(                  d	dd
      Zed        Zed        Zy)r   r2   c                       e Zd ZdZdZy)ContentVersion.Statusr*   inactiveN)r6   r7   r8   ACTIVEINACTIVEr9   r   r   Statusr<   9   s    r   r@   T)primary_keyz
content.idzlanguage.id2   Campaignz0ContentVersion.id == Campaign.content_version_id)back_populatesprimaryjoinc                 D   t        j                  d|       t        |d         }t        |d         }t        |d         }t        |d         }t        j                  j                  |      }||_        ||_        ||_        t        j                  j                          y )NzAdding content %sr   r4         )r   infointr   r+   r   duration_secsr1   r-   r   sessioncommit)clscontent_datar   rK   r1   languagecontent_recs          r   update_contentszContentVersion.update_contentsK   s    +\: a1LO,<?+|A'$**DDEWX$1!#/ "*


r   c                    t        j                  d|       d }t        |d         }t        |d         }t        |d         }t        |d         }|d   }t        j                  j                  ||      }|r
d|z   d	z   }|S t        ||||d
|      }	t        j                  j                  |	       t        j                  j                          |S )NzAdding versions %sr   r4   rG   rH      )r   r   z	Version: z  Already Exists for this contentr*   )r   r-   r1   rK   r.   r   )
r   rI   rJ   r   r+   r   r   rL   addrM   )
rN   contenterrorsr   rK   r1   rP   r   existing_versioncontent_version_recs
             r   add_new_content_versionz&ContentVersion.add_new_content_versionX   s    ,g6_
GAJ71:wqz?!*)//MM!7 N 
  7*-OOF  #1%$)+# JJNN./JJr   N)r6   r7   r8   __tablename__r   query_classr@   r   ColumnIntegerr   
ForeignKeyr   r-   Floatr   Stringr.   rK   r1   relationshipcampaignclassmethodrR   rZ   r9   r   r   r   r   5   s   %M%K  
2::4	0B2::}r}}\'BCJ"))BJJm(DEKbii!GRYYyryy}%FBIIbjj)M299RZZ(Lr(FH 
 
  r   r   N)
__future__r   flask_sqlalchemy.queryr   	BaseQuery	dostadminr   r   r   dostadmin.mixinsr   dostadmin.db_model.languager	   r   Modelr   r9   r   r   <module>rl      s6    & 5 . . + 0*) *Z=^RXX =r   