Sindbad~EG File Manager

Current Path : /home/numerotech/hs.numerotech.com/scan_v1/core/model/__pycache__/
Upload File :
Current File : //home/numerotech/hs.numerotech.com/scan_v1/core/model/__pycache__/AttendanceModel.cpython-37.pyc

B

?�c�*�@s~ddlmZddlmZmZmZddlmZmZmZm	Z	m
Z
ddlmZm
Z
ddlmZeejdddd	�ZGd
d�d�ZdS)
�)�session)�request�	Blueprint�jsonify)�
create_engine�select�MetaData�Table�text)�and_�or_)�app�DATABASE_URITi)�
pool_pre_ping�pool_recyclec@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%S)&�AttendanceModelc
CsxyHt�|_td|jdtd�|_td|jdtd�|_td|jdtd�|_Wn*tk
rr}zt|�Wdd}~XYnXdS)N�abs_session_queriesT)�autoload�
autoload_with�abs_sessions�session_attendance_log)	r�metar	�enginerrr�	Exception�print)�self�e�r�[/home/numerote/conference.numerotech.com/food_kit_scan_badges/core/model/AttendanceModel.py�__init__szAttendanceModel.__init__cCsht��}tdt|�d|d|d�}|�|�}|��|rPdd�|D�nd}|r`|dSdSdS)Nz)select * from conference where  conf_id =z and conf_key ='z' and 'z' <= conf_end_time ;cSsg|]}t|��qSr)�dict)�.0�rrrr�
<listcomp>sz7AttendanceModel.getConf_open_closed.<locals>.<listcomp>r)r�connectr
�str�execute�close)r�conf_id�conf_key�
current_dt�conn�stmt�result�resultsrrr�getConf_open_closeds$
z#AttendanceModel.getConf_open_closedcCsZt��}td|d�}|j|||d�}|��|rBdd�|D�nd}|rR|dSdSdS)Nzselect * from z? where conf_id =:conf_id and delegate_no =:delegate_no limit 1;)r(�delegate_nocSsg|]}t|��qSr)r )r!r"rrrr#(sz3AttendanceModel.checkDelegateNo.<locals>.<listcomp>r)rr$r
r&r')rr(r0�del_table_namer+r,r.rrr�checkDelegateNo#szAttendanceModel.checkDelegateNocCs>t��}|�|j��|�}|��|jdr6|jdnd}|S)Nr)rr$r&r�insertr'�inserted_primary_key)r�datar+r-�pk_idrrr�insert_delegate_query.s
z%AttendanceModel.insert_delegate_querycCsLt��}td�}|j||d�}|��|r8dd�|D�nd}|rD|SdSdS)NzXSELECT distinct(display_dt),dt from abs_sessions where conf_id=:conf_id  order by dt asc)r(cSsg|]}t|��qSr)r )r!r"rrrr#:sz+AttendanceModel.getDays.<locals>.<listcomp>)rr$r
r&r')rr(r+r,r.r-rrr�getDays5szAttendanceModel.getDayscCsNt��}td�}|j|||d�}|��|r:dd�|D�nd}|rF|SdSdS)NzgSELECT distinct(hall),hall_id,dt,display_dt from abs_sessions where conf_id=:conf_id and dt=:conf_date;)r(�	conf_datecSsg|]}t|��qSr)r )r!r"rrrr#Esz,AttendanceModel.getHalls.<locals>.<listcomp>)rr$r
r&r')rr(r9r+r,r.r-rrr�getHalls@szAttendanceModel.getHallscCsPt��}td�}|j||||d�}|��|r<dd�|D�nd}|rH|SdSdS)NzySELECT * from abs_sessions where conf_id=:conf_id and  hall_id=:hall_id and dt=:conf_date and abs_session_id is not null )r(�hall_idr9cSsg|]}t|��qSr)r )r!r"rrrr#Psz2AttendanceModel.getSessionName.<locals>.<listcomp>)rr$r
r&r')rr(r;r9r+r,r.r-rrr�getSessionNameKszAttendanceModel.getSessionNamecCs�g}z�t��}|��}d}d}|�d||||g�xpdd�|jD�}g}	x.|��}
|
dkr\Ptt||
��}|	�|�qJW|�t	|	��|�
�dkr�P|jdkr4Pq4WWd|��X|S)NZ usp_get_abstract_session_spakerscSsg|]}|d�qS)rr)r!�crrrr#_sz/AttendanceModel.get_session.<locals>.<listcomp>)r�raw_connection�cursor�callproc�description�fetchoner �zip�append�list�nextsetr')rr(�asession_id�sets�
connectionr?�dateZhall�names�set_�row_raw�rowrrr�get_sessionVs.


zAttendanceModel.get_sessioncCsJt��}td|d�}|j||||d�}|��|��}|rB|SdSdS)Nz_select * from abs_sessions where conf_id =:conf_id and hall_id=:hall_id and dt=:conf_date and 'z!' between starts_by and ends_by ;)r(r;r9)rr$r
r&r'rB)rr(r*r;r9r+r,r.rrr�getCurrentSessionpsz!AttendanceModel.getCurrentSessioncCsZt��}td�}|j|||d�}|��|r:dd�|D�nd}t|�|rR|dSdSdS)Nz�select * from  abs_session_queries  where asession_id=:asession_id and date(created_at)=:conf_date order by created_at desc limit 1;)rGr9cSsg|]}t|��qSr)r )r!r"rrrr#�sz.AttendanceModel.getQueries.<locals>.<listcomp>r)rr$r
r&r'r)rrGr9r+r,r.r-rrr�
getQueries{szAttendanceModel.getQueriescCsNt��}td�}|j|||d�}|��|r:dd�|D�nd}|rF|SdSdS)Nzxselect * from abs_session_queries where asession_id=:asession_id and created_at >:last_sync_at order by created_at desc;)rG�last_sync_atcSsg|]}t|��qSr)r )r!r"rrrr#�sz2AttendanceModel.getAutoQueries.<locals>.<listcomp>)rr$r
r&r')rrGrRr+r,r.r-rrr�getAutoQueries�szAttendanceModel.getAutoQueriesc	Cs�g}z�t��}|��}|�d|g�xpdd�|jD�}g}x.|��}|dkrNPtt||��}|�|�q<W|�t	|��|�
�dkr�P|jdkr&Pq&WWd|��X|S)N�usp_get_pre_nxt_querycSsg|]}|d�qS)rr)r!r=rrrr#�sz9AttendanceModel.usp_get_pre_nxt_query.<locals>.<listcomp>)rr>r?r@rArBr rCrDrErFr')	rrGrHrIr?rKrLrMrNrrrrT�s*


z%AttendanceModel.usp_get_pre_nxt_querycCs�g}z�t��}|��}|�d||||g�xpdd�|jD�}g}	x.|��}
|
dkrTPtt||
��}|	�|�qBW|�t	|	��|�
�dkr�P|jdkr,Pq,WWd|��X|S)N�usp_get_session_querycSsg|]}|d�qS)rr)r!r=rrrr#�sz9AttendanceModel.usp_get_session_query.<locals>.<listcomp>)rr>r?r@rArBr rCrDrErFr')rr(r;r9r*rHrIr?rKrLrMrNrrrrU�s*


z%AttendanceModel.usp_get_session_querycCsXt��}td�}|j||d�}|��|r8dd�|D�nd}t|�|rP|dSdSdS)NzDselect * from  abs_session_types  where abs_session_id=:asession_id;)rGcSsg|]}t|��qSr)r )r!r"rrrr#�sz=AttendanceModel.getsessiondata_session_id.<locals>.<listcomp>r)rr$r
r&r'r)rrGr+r,r.r-rrr�getsessiondata_session_id�sz)AttendanceModel.getsessiondata_session_idcCsVd}d}dg}g}g}x�|D]�}||d}||d}xz|D]r}t|d�dkr�|dt|d�d	||}|�|d�q>|d
t|d�d	||}|�|d�q>W|d}|d}qW|dd�}|dd�}d
�dd�|D��}d
�dd�|D��}|dt|�d}|dt|�d}||}t��}	|	�|�}
|	��dS)NzUPDATE abs_topics SET zUPDATE abs_judges SET �
is_presentz = case �is_judgerz When topic_id = r6z then z When judges_id = z END, ����,css|]}t|�VqdS)N)r%)r!rrrr�	<genexpr>�sz4AttendanceModel.update_attendance.<locals>.<genexpr>css|]}t|�VqdS)N)r%)r!rrrrr[�sz Where topic_id in (z );z Where judges_id in (ZSuccess)�intr%rD�joinrr$r&r')r�speaker_datar,�stmt1�keynameZ
judge_pkidZauthor_pkid�j�ir+r-rrr�update_attendance�s6

  
z!AttendanceModel.update_attendancecCs0t��}td�|||��}|�|�}|��dS)NzZupdate abs_session_types set attendance_on = '{}',remarks = '{}' where abs_session_id = {}�success)rr$r
�formatr&r')rrG�datetime�remarksr+r,r.rrr�update_session�s

zAttendanceModel.update_sessioncCs&t��}|�|j��|�}|��dS)Nrd)rr$r&rr3r')rr5r+r-rrr�insert_session_attendance_logsz-AttendanceModel.insert_session_attendance_logcCszt��}|��}|�d||g�dd�|jD�}g}x$|��D]}|�tt||���q>W|�	�|�
�|rrdSdSdS)NZ#usp_generate_certificate_by_sessioncSsg|]}|d�qS)rr)r!�columnrrrr#sz9AttendanceModel.generate_certificates.<locals>.<listcomp>rd�fail)rr>r?r@rA�fetchallrDr rCr'�commit)rr(�
session_idrIr?�columnsr.rNrrr�generate_certificates
sz%AttendanceModel.generate_certificatesN)�__name__�
__module__�__qualname__rr/r2r7r8r:r<rOrPrQrSrTrUrVrcrhrirprrrrr
s$
  rN)�flaskrrrr�
sqlalchemyrrrr	r
Zsqlalchemy.sqlrr�corer
�configrrrrrr�<module>s

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists