
    5i                     0    d dl mZ d dlmZ  G d d      Zy)    )DownloadModel)datetimec                   2    e Zd Zd ZddZd Zd Zd Zd Zy)	DownloadClassc                     || _         y )N)db)selfr   s     K/var/www/pie360backend.cl/public_html/app/backend/classes/download_class.py__init__zDownloadClass.__init__   s	        Nc                    	 | j                   j                  t              }|"|j                  t        j                  |k(        }|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                  |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download_type_idtitledescriptionurltagquantity
added_dateupdated_datesuccess)r   r   r   r   r   r   r   )r   queryr   filterr   r   likeorder_byr    desccountoffsetlimitallr   r   r   r   r   strftimer!   append	Exceptionstr)r	   pageitems_per_pager   r   r$   r   r*   	downloadsr   downloads_listdownloaddownload_dictes                 r
   get_allzDownloadClass.get_all   s   >	GGMM-0E  +]%C%CGW%WX ]%8%8%=%=%l%KL NN=#;#;#@#@#BCE  ++-K N*FV,22>BFFHI%. #$#$$(  '7!;NK  N% 5"++(0(A(A%^^#+#7#7#<<#<< ( 1 1W_WjWj("5"5">">?R"Spt[c[p[pH$9$9$B$BCV$Wvz
! %%m45 $&** $   	!q6 	s%   C1G 4CG 	G"
GG"G"c                 8   	 | j                   j                  t              j                  t        j                  |k(        j                         }|sdddS |j                  |j                  |j                  |j                  |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   Download not foundr#   r   r   )r   r$   r   r%   r   firstr   r   r   r   r   r   r    r-   r!   r/   r0   )r	   download_idr5   r6   r7   s        r
   getzDownloadClass.getI   s    	ww}}]3::  K/eg  %3  kk$,$=$=!'33||||$--S[SfSfh11::;NOlpW_WlWl 5 5 > >?R Srv
M !  	!q6 	s%   AC8 B!C8 8	DDDDc                 f   	 t        |j                  d      |j                  d      |j                  d      |j                  d      |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   r   r   r   r   r   r    r!   r"   zDownload created successfullyr   )r   r   r   r   r#   )r   r=   r   nowr   addcommitrefreshr   r/   rollbackr0   )r	   download_datanew_downloadr7   s       r
   storezDownloadClass.storei   s    	(!.!2!23E!F#''0)--m<!%%e,!%%e,&**:6#<<>%\\^	L GGKK%GGNNGGOOL) $:,//   	GG!q6 	s   C2C5 5	D0>'D+%D0+D0c                 l   	 | j                   j                  t              j                  t        j                  |k(        j                         }|sdddS |j                  d      |j                  d      |_        |j                  d      |j                  d      |_        |j                  d      |j                  d      |_	        |j                  d      |j                  d      |_
        |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   r:   r#   r   r   r   r   r   r   r"   zDownload updated successfully)r   r$   r   r%   r   r;   r=   r   r   r   r   r   r   r   r?   r!   rA   r/   rC   r0   )r	   r<   rD   r5   r7   s        r
   updatezDownloadClass.update   s   ,	ww}}]3::  K/eg  %3    !34@,9,=,=>P,Q)  )5!.!2!27!;  /;'4'8'8'G$  '3,007  '3,007  ,8$1$5$5j$A!$,LLNH!GGNN $: 
  	GG!q6 	s%   AE8 D!E8 8	F3'F.(F3.F3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   r:   r#   r"   zDownload deleted successfully)r   r$   r   r%   r   r;   deleterA   r/   rC   r0   )r	   r<   r5   r7   s       r
   rJ   zDownloadClass.delete   s    	ww}}]3::  K/eg  %3  GGNN8$GGNN $: 
  	GG!q6 	s$   AB 9B 	C'C CC)r   
   NN)	__name__
__module____qualname__r   r8   r=   rF   rH   rJ    r   r
   r   r      s$    ?B@@-^r   r   N)app.backend.db.modelsr   r   r   rO   r   r
   <module>rQ      s    / N Nr   