
    Cjk#              +       $   d dl Z d dlmZmZmZ d dlmZmZmZ d dl	m
Z
 d dlmZmZmZmZmZ d dlmZ d dlmZ d dlmZ d d	lmZmZmZmZmZ  e       Zd
Zd4dededede
fdZ ejC                  d      d5dede"dedefd       Z#ejC                  d      defd       Z$ejK                  d       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed      dfdedede"dededededed ed!ee"   d"ee"   d#ed$ed%ed&ee&   d'ee&   d(ed)ed*eeee       e       f   f&d+       Z'ejC                  d,      ded-e"fd.       Z(ejK                  d,       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed       ed      dfded-e"de"dededededed ed!ee"   d"ee"   d#ed$ed%ed&ee&   d'ee&   d(ed)ed*eeee       e       f   f&d/       Z)ejK                  d0      ded-e"fd1       Z*ejK                  d2      ded-e"fd3       Z+y)6    N)	AnnotatedListOptional)	APIRouterRequestFormRedirectResponse)selectfuncor_descdelete)selectinload)render)AsyncSessionFactory)MovieGenre
MovieGenreAdminActionMovieLanguageType    urlmsgtype_returnc                 @    d| v rdnd}t        |  | d| d| d      S )N?&zmsg=z&type=i.  )status_coder	   )r   r   r   seps       EC:\Users\koklo\Documents\pet_projects\kinoBot\admin\routers\movies.py	_redirectr$      s1    #CseC5SEw?SQQ    requestpageqactivec                   K   |dz
  t         z  }t               4 d {   }t        t              j	                  t        t        j                              }|rd| d}|j                  t        t        j                  j                  |      t        j                  j                  |      t        j                  j                  |      t        j                  j                  |                  }|dk(  r#|j                  t        j                  dk(        }n'|dk(  r"|j                  t        j                  dk(        }|j                  t        t!        j"                               j%                  |j'                                      d {   }|j)                         }	|j                  |j+                  t-        t        j.                              j1                  t               j3                  |             d {   }
t5        |
j7                         j9                               }d d d       d {    t;        | d	||	rt=        j>                  |	t         z        nd||      S 7 L7 7 q7 <# 1 d {  7  sw Y   LxY ww)	N   %r)   TinactiveFzmovies/list.html)moviestotalr'   total_pagesr(   r)   ) PER_PAGEr   r   r   optionsr   genreswherer   codeiliketitle_uztitle_rutitle_en	is_activeexecuter   countselect_fromsubquery
scalar_oneorder_byr   
created_atlimitoffsetlistscalarsallr   mathceil)r&   r'   r(   r)   rC   sessionbasestotal_rr/   movies_rr.   s               r#   
movie_listrN      s    Qh("F"$$e}$$\%,,%?@A3aA::EJJ$$Q')=)=a)@NN((+U^^-A-A!-DFD X::eoo56Dz!::eoo67Dtzz|(<(H(H(YZZ""$ tE<L<L7M)N)T)TU])^)e)efl)mnnh&&(,,./! %$$ #U38DIIeh./a
F	 % % [n %$$$sj   JI)JE*I2I,A0I2<I.=+I2(J3I046J,I2.I20J2J8I;9J Jz/newc           	        K   t               4 d {   }|j                  t        t              j	                  t        j
                               d {   }t        |j                         j                               }d d d       d {    t        | dd t        t                    S 7 7 Z7 %# 1 d {  7  sw Y   5xY ww)Nmovies/form.htmlmovier3   language_types)r   r;   r   r   r@   name_uzrD   rE   rF   r   r   )r&   rI   genres_rr3   s       r#   	movie_newrV   3   s     "$$ )?)?)NOOh&&(,,./ %$ '-T&!%&7!8: : %O %$$$sV   CB-C?B3B/+B3 CB1"C/B31C3C9B<:CC.r5   channel_message_idr7   r8   r9   description_uzdescription_rudescription_enyeardurationcountrydirectorcastimdb_ratingkinopoisk_rating
age_ratinglanguage_type	genre_idsc                 <  K   |xs g }|j                         j                         }t               4 d {   }|j                  t	        t
              j                  t
        j                  |k(               d {   }|j                         r|j                  t	        t              j                  t        j                               d {   }t        | dd t        |j                         j                               t        t               d| d      cd d d       d {    S t        di d|d|d|xs d d|xs d d	|xs d d
|xs d d|xs d d|xs d d|	d|
d|xs d d|xs d d|xs d d|d|d|xs d d|rt!        |      nd }|j#                  |       |j%                          d {    |D ]1  }|j#                  t'        |j(                  t+        |                   3 | j,                  j.                  }|j#                  t1        t+        |d         d|d|i             |j3                          d {    d d d       d {    t5        dd| d      S 7 @7 7 7 Y7 7 27 $# 1 d {  7  sw Y   4xY ww)NrP   'z' kodi allaqachon mavjud)rR   r3   rS   errorr5   rW   r7   r8   r9   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   movie_idgenre_idsubmovie_createadmin_telegram_idaction_type	target_iddetails/moviesKino 'z' qo'shildi )upperstripr   r;   r   r   r4   r5   scalar_one_or_noner   r@   rT   r   rD   rE   rF   r   addflushr   idintstateadminr   commitr$   )r&   r5   rW   r7   r8   r9   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   rI   existingrU   rR   gidr}   s                            r#   rl   rl   <   s     RI::<D"$$ )<)<UZZ4=O)PQQ&&($__VE]-C-CEMM-RSSH'#5T!%h&6&6&8&<&<&>!?)-.?)@"#D6)A BD	 %$$  



*<

%

080@D

KSK[W[

 *1T

 CQBXTX

 *1T	


 


 !)

 Ot

 /7.>$

 FJ\T

 $

 7G

 ")T

 ?L+M:QU

 	EmmoCKK
EHHs3xHI  ##K!%,/&*	
 	 nnC %$F Y&k :;;G %QS %* 	 	C %$$$s   3JI5JAJ;I8<AJI;A
JJ%I>&J+BJ JBJJJJ J!J8J;J>JJJJJJJJz/{movie_id}/editri   c           	        K   t               4 d {   }|j                  t        t              j	                  t        j
                  |k(        j                  t        t        j                                     d {   }|j                         }|st        ddd      cd d d       d {    S |j                  t        t              j                  t        j                               d {   }t        |j                         j!                               }d d d       d {    t#        | dt        t$                    S 7 87 7 7 _7 *# 1 d {  7  sw Y   :xY ww)Nrr   Kino topilmadidangerrP   rQ   )r   r;   r   r   r4   rz   r2   r   r3   rw   r$   r   r@   rT   rD   rE   rF   r   r   )r&   ri   rI   movie_rrR   rU   r3   s          r#   
movie_editr   q   s    "$$5MH 45==l5<<>XY
 
 **,Y(8(C %$$ !)?)?)NOOh&&(,,./ %$ '-U6!%&7!8: : %
 % P %$$$s   E)E	E)A(E=E>"E E),E-E)2>E0E1+EE)'E("E)EE)EE)E&EE&"E)c           
        K   |xs g }t               4 d {   }|j                  t        t              j	                  t        j
                  |k(               d {   }|j                         }|st        ddd      cd d d       d {    S ||_        |xs d |_	        |xs d |_
        |xs d |_        |xs d |_        |xs d |_        |xs d |_        |	|_        |
|_        |xs d |_        |xs d |_        |xs d |_        ||_        ||_        |xs d |_        |rt/        |      nd |_        |j                  t3        t4              j	                  t4        j6                  |k(               d {    |D ]'  }|j9                  t5        |t;        |                   ) | j<                  j>                  }|j9                  tA        t;        |d         d|jB                               |jE                          d {    d d d       d {    t        ddjB                   d	      S 7 7 7 7 7 97 +# 1 d {  7  sw Y   ;xY ww)
Nrr   r   r   rh   rk   movie_updatern   ro   rp   rs   z' yangilandi)#r   r;   r   r   r4   rz   rw   r$   rW   r7   r8   r9   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   r   rc   r   r   ri   rx   r{   r|   r}   r   r5   r~   )r&   ri   rW   r7   r8   r9   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   rI   r   rR   r   r}   s                           r#   r   r      s     RI"$$u(;(;EHH<P(QRR**,Y(8(C	 %$$ $6 !)T!)T!)T-5-5-5
!4!)T\T
'!1%-BO/>UYoofZ066z7J7Jh7VWXXXCKK
Hs3xHI  ##K!%,/&jj
 	
 nnC %$F Y&L ABBG %R %. 	Y 	C %$$$s   IH4IAIH7"I IH:IC&I8H=9BIH?I
III7I:I=I?III	I
IIz/{movie_id}/togglec           
        K   t               4 d {   }|j                  t        t              j	                  t        j
                  |k(               d {   }|j                         }|st        ddd      cd d d       d {    S |j                   |_        |j                  rdnd}| j                  j                  }|j                  t        t        |d         d|j                  d|j                  i	             |j                          d {    d d d       d {    t        dd
j                   d       S 7 77 7 7 77 )# 1 d {  7  sw Y   9xY ww)Nrr   r   r   faollashtirildiz
o'chirildirk   movie_toggler:   rm   rs   z' )r   r;   r   r   r4   rz   rw   r$   r:   r|   r}   rx   r   r{   r5   r~   )r&   ri   rI   r   rR   statusr}   s          r#   r   r      s$    "$$u(;(;EHH<P(QRR**,Y(8(C	 %$$
 $oo-&+oo"<##K!%,/&jj %//2	
 	 nn %$ Y&Bvh ?@@ %R % 	 %$$$s   E(EE(AEE"E:E(EE(BEEEE('E(!E(EE(EE(E%EE%!E(z/{movie_id}/deletec           	      p  K   t               4 d {   }|j                  t        t              j	                  t        j
                  |k(               d {   }|j                         }|st        ddd      cd d d       d {    S |j                  }d|_	        | j                  j                  }|j                  t        t        |d         d|             |j                          d {    d d d       d {    t        dd d	      S 7 7 7 7 +7 # 1 d {  7  sw Y   -xY ww)
Nrr   r   r   Frk   movie_deleter   rs   z' o'chirildi)r   r;   r   r   r4   rz   rw   r$   r5   r:   r|   r}   rx   r   r{   r~   )r&   ri   rI   r   rR   r5   r}   s          r#   r   r      s     "$$u(;(;EHH<P(QRR**,Y(8(C	 %$$
 zz##K!%,/&
 	
 nn %$ Y&l ;<< %R % 	 %$$$s   D6DD6AD!D"D!:D6DD6A%D!1D2D!6D6DD6D!D6D!D6!D3'D*(D3/D6)r   success)r+   r   rF   ),rG   typingr   r   r   fastapir   r   r   fastapi.responsesr
   
sqlalchemyr   r   r   r   r   sqlalchemy.ormr   admin.responsesr   bot.database.connectionr   bot.database.modelsr   r   r   r   r   routerr1   strr$   getr{   rN   rV   postfloatrl   r   r   r   r   rt   r%   r#   <module>r      sJ    , , , , . 6 6 ' " 7 X X	R3 RS Rc RBR R
 Bg S  3  8 F:W : : V S	"3iHd2hRr($r(Z^_aZbt*T
8T"X48#':SWX\S]2hT"X8<1<1<
1< 1< 	1< ),	1< CF	1<
 1<
 581<
 UX1< 3-1< 191< 1< (+1< >A1< %1< BJ%1< 1< 031< $s),df451< 1<h :g : :  :    #3iHd2hRr($r(Z^_aZbt*T
8T"X48#':SWX\S]2hT"X8</C/C #/C/C /C ),/C CF/C 	/C 58	/C UX	/C
 3-/C
 19/C /C (+/C >A/C %/C BJ%/C /C 03/C $s),df45/C !/Cd !"A A3 A #A& !"= =3 = #=r%   