Sindbad~EG File Manager
from flask import Flask, request, Blueprint, jsonify, redirect, url_for,flash, render_template,session,json,Response
import datetime
from datetime import timedelta,date,datetime
from flask import session, app
from .. import Cryptography,Auth,RouteGroup,Helper,is_windows_os,path_wkhtmltopdf,is_local_server
from core.library.email import EMAIL
from core.model.HallLogsModel import HallLogsModel
# from core.model.QueryModel import QueryModel
import base64
from urllib.parse import unquote
from collections import defaultdict
import pdfkit
app = Blueprint('halllogs', __name__)
@app.route('/<int:conf_id>/<conf_key>/hall_scan/<pin_number>', methods = ["GET", "POST"])
def HallScan(conf_id,conf_key,pin_number):
try:
return ScanLogs(conf_id=conf_id,conf_key=conf_key ,pin_number = pin_number)
# return redirect(url_for('halllogs.ScanLogs',conf_id=conf_id,conf_key=conf_key ,pin_number= pin_number_string))
except Exception as e:
flash(str(e) , "errorMsg")
return "Error : " + str(e)
@app.route('/<int:conf_id>/<conf_key>/post_hall_login', methods = ["GET", "POST"])
def postHallLogin(conf_id,conf_key):
if request.method == 'POST':
pin_number = request.values.get('pin_number')
pin_number_bytes = pin_number.encode("ascii")
base64_bytes = base64.b64encode(pin_number_bytes)
pin_number_string = base64_bytes.decode("ascii")
return redirect(url_for('halllogs.ScanLogs',conf_id=conf_id,conf_key=conf_key ,pin_number= pin_number_string))
else:
return "Please Try again"
@app.route('/<int:conf_id>/<conf_key>/scan_logs', methods = ["GET", "POST"])
def ScanLogs(conf_id,conf_key,pin_number =None):
if pin_number:
# pin_number = request.values.get("pin_number")
try:
del_table_name = ''
get_conf = HallLogsModel().GetConf(conf_id,conf_key)
if get_conf :
del_table_name = get_conf["del_table_name"]
conf_schema = get_conf["conf_schema"]
else :
return "<h4 style='color:red;'> Invalid URL </h4>"
if pin_number :
now = datetime.now()
current_date = now.strftime('%Y-%m-%d')
d_current_date = now.strftime('%d-%m-%Y')
current_dt = now.strftime('%Y-%m-%d %H:%M:%S')
hallData = HallLogsModel().gethall(conf_id,pin_number)
if hallData:
print("inside")
result = HallLogsModel().usp_generate_session_table_scan_logs(conf_id)
print("result-----",result)
msg = "Scan"
return render_template('hall_logs/scan_logs.html',conf_id=conf_id,conf_key=conf_key,hallData=hallData,del_table_name=del_table_name,msg=msg,current_date=current_date,d_current_date=d_current_date,now=now,pin_number=pin_number,conf_schema=conf_schema)
else:
return "Invalid URL"
else :
return "Invalid URL"
except Exception as e:
flash(str(e) , "errorMsg")
return "Error : " + str(e)
else :
return "Invalid URL"
@app.route('/<int:conf_id>/<conf_key>/insert_scan_logs', methods = ["GET", "POST"])
def insertScanLogs(conf_id,conf_key):
try:
msg = ""
bg_color = "red"
audio_id = "error_audio"
delegate_no = request.values.get('delegate_no') or None
if delegate_no :
delegate_no = delegate_no
hall_id = request.values.get('hall_id') or None
if hall_id :
hall_id = int(hall_id)
del_table_name = request.values.get('del_table_name') or None
now = datetime.now()
dt_string = now.strftime("%Y-%m-%d")
datas ={
'delegate_no' : delegate_no,
'hall_id' : hall_id,
'scan_at' : now,
'created_date' : dt_string,
'created_at' : now
}
data = HallLogsModel().usp_save_hall_scanned_data_by_day(conf_id,delegate_no,hall_id,del_table_name)
if data:
result = data[0]
msg = result["msg"]
code = result["code"] or 0
if int(code) == 1:
bg_color = "green"
else:
bg_color = "orange"
# if "Not" not in msg :
# audio_id = "thanku"
# if "Already" in msg :
# bg_color = "orange"
# else:
# bg_color = "green"
data = {"bg_color":bg_color,"audio_id":audio_id,"msg":msg, 'status': 1}
json_data = json.dumps(data,default=str)
else:
data = {"bg_color" : bg_color,"audio_id":audio_id,"msg":"try again", 'status': 2}
json_data = json.dumps(data,default=str)
return json_data
except Exception as e:
bg_color = "red"
data = {"bg_color" : bg_color,"audio_id":audio_id,"msg" : str(e) ,"status" : 401}
json_data = json.dumps(data,default=str)
return json_data
@app.route('/<int:conf_id>/<conf_key>/halls', methods = ["GET", "POST"])
def Halls(conf_id,conf_key):
halls = HallLogsModel().gethall_name(conf_id)
return render_template('hall_logs/halls_index.html',conf_id=conf_id,conf_key=conf_key,halls=halls)
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists