
    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 d dlmZ  G d de      Z G d	 d
eej                         Zy)    )absolute_import)Query)
app_loggerdbdb_model)replace_chars)TimestampMixin)ContentVersionc                       e Zd Zd Zd Zd Zy)ContentQueryc                 b    | j                  t        j                  |k(        j                         S N)filterContentidfirst)self
content_ids     0/var/www/dostadmin/dostadmin/db_model/content.pyget_content_with_idz ContentQuery.get_content_with_id
   s#    {{7::34::<<    c                 "    | j                         S r   )allr   s    r   get_content_logzContentQuery.get_content_log   s    xxzr   c                     | j                  t        j                  t        |      k(        j	                         }|r|j
                  S y r   )r   r   namer   r   r   )r   content_namecontents      r   find_content_id_with_namez&ContentQuery.find_content_id_with_name   s7    ++gllmL.IIJPPR::r   N)__name__
__module____qualname__r   r   r     r   r   r   r   	   s    =r   r   c                      e Zd ZdZeZ ej                  ej                  d      Z	 ej                   ej                  d      dd      Z ej                  ej                   ej                  d            Z ej                   ej                  d      d      Z ej                  d	dd
      Z ej                  ddd      Z ej                  ddd      Z ej                  ddd      Zd Zed        Zy)r   r   T)primary_key2   F)uniquenullableztopic.id)r)   Campaignz!Content.id == Campaign.content_id)backrefprimaryjoin
Programseqz#Content.id == Programseq.content_idProviderNumberz'Content.id == ProviderNumber.content_idr
   z'Content.id == ContentVersion.content_idc                 R    dt        | j                        z   dz   | j                  z   S )NContent_ )strr   r   r   s    r   __repr__zContent.__repr__3   s#    CL(3.::r   c           	         |D ]0  }t        j                  d|       d }d }	 t        |d         }t        |d         }t        |d         }t        |d         }	 t        j                  j                  j                  |      }	t        |      }
t        j                  j                  |
       t        j                  j                          |
j                  s	 t!        |
j                  |	||dd      }t        j                  j                  |       t        j                  j                          3 S # t        $ r0}|r!t        j
                  d|        |dz   |z   }n|}Y d }~jd }~ww xY w# t        $ r3}|r!t        j
                  d	|        |d
z   |z   }nd|z   }Y d }~d }~ww xY w# t        $ r#}t        j
                  d|        Y d }~d }~ww xY w)Nzadding content %sr            z5Exception occurred while adding new contents. Error: z, )ip_namezNException occurred while fetching language id for adding new contents. Error: z, No language named: zNo language named: )r   activeg      ?)r   language_idexotel_appidduration_secsstatusversionz@Exception occurred while adding content version. Error message: )r   infor   int	Exceptionerrorr   Languagequeryfind_language_id_with_namer   r   sessionaddcommitr   r
   )clsr   cerrorsr   r<   r;   languageer:   content_reccontent_version_recs               r   add_new_contentszContent.add_new_contents6   s   AOO/3FL,QqT2 #AaD	"1Q4y(1.&//55PP$ Q  "|4KJJNN;'JJ~~*8#.>>$/%1&3' #+' JJNN#67JJ%%'[ d S  $$OPQsS $d]\9F)F  $$hijhkl $&==HF2X=F0 ! $$Z[\Z]^ sH   8D9*E5AF49	E2%E--E25	F1>(F,,F14	G =GG N)r!   r"   r#   __tablename__r   query_classr   ColumnIntegerr   Stringr   
ForeignKeytopic_idtyperelationship	campaigns
programseqprovidernumbercontent_versionr3   classmethodrP   r$   r   r   r   r      s    MK	2::4	0B299YRYYr]4%@Dryy]R]]:%>?H299YRYYr]T2DI3VI !9J
 %R__=N
 &boo=O; 3 3r   r   N)
__future__r   flask_sqlalchemy.queryr   	BaseQuery	dostadminr   r   r   utils.helpers.helpersr   dostadmin.mixinsr	   "dostadmin.db_model.content_versionr
   r   Modelr   r$   r   r   <module>rg      s:    & 5 . . / + =9 Snbhh Sr   