Sindbad~EG File Manager
o
�sep � @ s� d dl mZ d dl mZmZmZ d dlmZmZmZm Z m
Z
d dlmZm
Z
d dlmZ eejd dddd �ZG d
d� d�ZdS )
� )�session)�request� Blueprint�jsonify)�
create_engine�select�MetaData�Table�text)�and_�or_)�app�DATABASE_URITi )�
pool_pre_ping�pool_recycle�futurec @ s| e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� ZdS )�AttendanceModelc
C sP zt � | _td| jtd�| _W d S ty' } zt|� W Y d }~d S d }~ww )N�session_attendance_log)�
autoload_with)r �metar �enginer � Exception�print)�self�e� r �[/home/numerote/conference.numerotech.com/food_kit_scan_badges/core/model/AttendanceModel.py�__init__ s ��zAttendanceModel.__init__c C s� t �� �7}tdt|� d | d | d �}|�|��� }|r%t|j�nd }|r2|W d � S W d � d S 1 s>w Y d S )Nz)select * from conference where conf_id =z and conf_key ='�' and 'z' <= conf_end_time ;)r �connectr
�str�execute�first�dict�_mapping)r �conf_id�conf_key�
current_dt�conn�stmt�result�resultsr r r �getConf_open_closed s
$�$�z#AttendanceModel.getConf_open_closedc C s� t �� �7}tdt|� d t|� d �}|�|��� }|r%dd� |D �nd }|r2|W d � S W d � d S 1 s>w Y d S )Nz$SELECT distinct(display_dt),dt from � where conf_id=z order by dt ascc S � g | ]}t |j��qS r �r# r$ ��.0�rr r r �
<listcomp>% � z+AttendanceModel.getDays.<locals>.<listcomp>�r r r
r r! �all)r �abs_session_tabler% r( r) r+ r* r r r �getDays! s
�$�zAttendanceModel.getDaysc C s� t �� �=}tdt|� d t|� d t|� d �}|�|��� }|r+dd� |D �nd }|r8|W d � S W d � d S 1 sDw Y d S )Nz1SELECT distinct(hall),hall_id,dt,display_dt from r- �
and dt= 'z' order by hall_id ;c S r. r r/ r0 r r r r3 / r4 z,AttendanceModel.getHalls.<locals>.<listcomp>r5 )r r7 r% � conf_dater( r) r+ r* r r r �getHalls+ s
,�$�zAttendanceModel.getHallsc C s� t �� �C}tdt|� d t|� d t|� d t|� d �}|�|��� }|r1dd� |D �nd }|r>|W d � S W d � d S 1 sJw Y d S )NzSELECT * from r- z and hall_id=r9 z!' and abs_session_id is not null c S r. r r/ r0 r r r r3 9 r4 z2AttendanceModel.getSessionName.<locals>.<listcomp>r5 ) r r7 r% �hall_idr: r( r) r+ r* r r r �getSessionName5 s
8�$�zAttendanceModel.getSessionNamec C s� g }z[t �� }|�� }d }d }|�d||||g� dd� |jD �}g } |�� }
|
d u r.n
tt||
��}| �|� q%|�t | �� |�
� d u rIn|jd u rOnqW |�� |S W |�� |S |�� w )NZ usp_get_abstract_session_spakers� c S � g | ]}|d �qS �r r �r1 �cr r r r3 H � z/AttendanceModel.get_session.<locals>.<listcomp>�r �raw_connection�cursor�callproc�description�fetchoner# �zip�append�list�nextset�close)r r% �asession_id�sets�
connectionrF �dateZhall�names�set_�row_raw�rowr r r �get_session? s<