
    0}5i                     0    d dl mZ d dlmZ  G d d      Zy)    )
VideoModel)datetimec                   2    e Zd Zd ZddZd Zd Zd Zd Zy)	
VideoClassc                     || _         y )N)db)selfr   s     H/var/www/pie360backend.cl/public_html/app/backend/classes/video_class.py__init__zVideoClass.__init__   s	        Nc                 *   	 | j                   j                  t              }|r2|j                  t        j                  j                  d| d            }|j                  t        j                  j                               }|j                         }||z  }|j                  |      j                  |      j                         }|s	ddd dd|dS ||z   dz
  |z  }g }	|D ]  }
|
j                  |
j                  |
j                  |
j                  r|
j                  j                  d      nd |
j                   r|
j                   j                  d      nd d}|	j#                  |        d	|	|||d
S # t$        $ r}dt'        |      dcY d }~S d }~ww xY w)N%errorzNo data foundr   )statusmessagedatatotal_itemstotal_pagescurrent_page   %Y-%m-%d %H:%M:%Sidtitleurl
added_dateupdated_datesuccess)r   r   r   r   r   r   r   )r   queryr   filterr   likeorder_byr   desccountoffsetlimitallr   r   strftimer   append	Exceptionstr)r	   pageitems_per_pager   r    r   r&   videosr   videos_listvideo
video_dictes                r
   get_allzVideoClass.get_all   s   6	GGMM*-E Z%5%5%:%:QugQ<%HI NN:#8#8#=#=#?@E  ++-K N*F\\&)//?CCEF%. #$#$$(  '7!;NK K /(("[[ 99TYTdTd%"2"2";";<O"PjnX]XjXjE$6$6$?$?@S$Tpt
 "":./ $#** $   	!q6 	s%   CE1 B E1 1	F:FFFc                    	 | j                   j                  t              j                  t        j                  |k(        j                         }|sdddS |j                  |j                  |j                  |j                  r|j                  j                  d      nd |j                  r|j                  j                  d      nd d}|S # t        $ r}dt        |      dcY d }~S d }~ww xY w)Nr   Video not foundr   r   r   )r   r    r   r!   r   firstr   r   r   r)   r   r+   r,   )r	   video_idr1   r2   r3   s        r
   getzVideoClass.getA   s    	GGMM*-44)eg  %0  hhyyPUP`P`e..778KLfjTYTfTf 2 2 ; ;<O PlpJ  	!q6 	s%   AC A5C 	C-C("C-(C-c                    	 t        |j                  d      |j                  d      t        j                         t        j                               }| j                  j                  |       | j                  j                          | j                  j                  |       ddd|j                  idS # t        $ r2}| j                  j                          dt        |      d	cY d }~S d }~ww xY w)
Nr   r   )r   r   r   r   r   zVideo created successfullyr   )r   r   r   r   r   )r   r9   r   nowr   addcommitrefreshr   r+   rollbackr,   )r	   
video_data	new_videor3   s       r
   storezVideoClass.store]   s    	" nnW-NN5)#<<>%\\^	I GGKK	"GGNNGGOOI& $7),,   	GG!q6 	s   B2B5 5	C0>'C+%C0+C0c                 4   	 | j                   j                  t              j                  t        j                  |k(        j                         }|sdddS |j                  d      |j                  d      |_        |j                  d      |j                  d      |_        t        j                         |_        | j                   j                          dddS # t        $ r2}| j                   j                          dt        |      dcY d }~S d }~ww xY w)Nr   r6   r   r   r   r   zVideo updated successfully)r   r    r   r!   r   r7   r9   r   r   r   r;   r   r=   r+   r?   r,   )r	   r8   r@   r1   r3   s        r
   updatezVideoClass.updatey   s     	GGMM*-44)eg  %0  ~~g&2(nnW5~~e$0&NN51	!)EGGNN $7 
  	GG!q6 	s%   AC BC 	D%'DDDc                    	 | j                   j                  t              j                  t        j                  |k(        j                         }|sdddS | j                   j                  |       | j                   j                          dddS # t        $ r2}| j                   j                          dt        |      dcY d }~S d }~ww xY w)Nr   r6   r   r   zVideo deleted successfully)r   r    r   r!   r   r7   deleter=   r+   r?   r,   )r	   r8   r1   r3   s       r
   rF   zVideoClass.delete   s    	GGMM*-44)eg  %0  GGNN5!GGNN $7 
  	GG!q6 	s$   AB 9B 	C'C CC)r   
   N)	__name__
__module____qualname__r   r4   r9   rB   rD   rF    r   r
   r   r      s"    7r88!Fr   r   N)app.backend.db.modelsr   r   r   rK   r   r
   <module>rM      s    , r rr   