Sindbad~EG File Manager
from flask import Flask, request, Blueprint, jsonify, redirect, url_for,flash, render_template,session,json
import datetime
from datetime import timedelta,date,datetime
from flask import session, app
from .. import Cryptography,Auth,RouteGroup,Helper,is_local_server
from core.model.BadgeModel import BadgeModel
from core.model.QueryModel import QueryModel
from core.model.CurrentSessionModel import CurrentSessionModel
from core.model.HallLogsModel import HallLogsModel
from collections import defaultdict
import pytz
UTC = pytz.utc
IST = pytz.timezone('Asia/Calcutta')
datetime_ist = datetime.now(IST)
app = Blueprint('report', __name__)
@app.route('/<int:conf_id>/<conf_key>/report_current_sessions', methods = ["GET", "POST"])
def getReportCurrentSession(conf_id,conf_key):
conf_data = BadgeModel().GetConf(conf_id,conf_key)
if conf_data:
now = datetime.now()
result_db = CurrentSessionModel().usp_get_current_session_hall_scan_counts(conf_id,conf_key)
result = None
if result_db:
result = result_db[0]
return render_template('current_session/report/current_sesson_list.html',conf_id=conf_id,conf_key=conf_key,conf_data=conf_data,result=result)
else:
return "Invalid Link"
@app.route('/<int:conf_id>/<conf_key>/report_all_days', methods = ["GET", "POST"])
def getReportSessionCountAllDays(conf_id,conf_key):
conf_data = BadgeModel().GetConf(conf_id,conf_key)
if conf_data:
getDays = QueryModel().getDaysQueryModel(conf_data['abs_ses_table_name'],conf_id)
now = datetime.now()
current_date = now.strftime('%Y-%m-%d')
return render_template('current_session/report/days.html',conf_id=conf_id,conf_key=conf_key,conf_data=conf_data,getDays=getDays,current_date=current_date)
else:
return "Invalid Link"
@app.route('/<int:conf_id>/<conf_key>/halls/<conf_date>', methods = ["GET", "POST"])
def Halls(conf_id,conf_key,conf_date):
try:
conf_data = BadgeModel().GetConf(conf_id,conf_key)
conf_date = datetime.strptime(conf_date, '%Y-%m-%d')
# print("conf_date",conf_date)
display_date = conf_date.strftime('%d-%m-%Y')
display_day_db = QueryModel().getDaysQueryModelByDate(conf_data['abs_ses_table_name'],conf_id,conf_date)
# print("conf_day",conf_day)
display_day = display_day_db.get('display_dt')
# return str(display_day)
result_db = CurrentSessionModel().usp_get_days_session_hall_scan_counts(conf_id,conf_key,conf_date)
if result_db:
result = result_db[0]
halls = defaultdict(list)
for r in result:
halls[r.get('hall_name')].append(r)
# return jsonify(halls)
return render_template('current_session/report/day_sesson_list.html',conf_id=conf_id,conf_key=conf_key,conf_data=conf_data,halls=halls,display_date=display_date,display_day=display_day)
# return jsonify(result_db)
except Exception as e:
return "Error :" + str(e)
# result_db = CurrentSessionModel().usp_get_current_session_hall_scan_counts(conf_id,conf_key)
# hall_1 = getHalls[0]
# return render_template('current_session/report/halls.html',conf_id=conf_id,conf_key=conf_key,conf_data=conf_data,getHalls=getHalls,conf_date=conf_date,hall_1=hall_1)
@app.route('/get_upload_file', methods=['GET', 'POST'])
def get_upload_file():
return render_template('test/file_upload.html')
@app.route('/upload_file', methods=['GET', 'POST'])
def upload_file():
print("in function")
if request.method == 'POST':
print("in upload file")
return "test"
# Check if the post request has the file part
if 'file' not in request.files:
flash('No file part')
return redirect(request.url)
file = request.files['file']
# If user does not select file, browser may submit an empty file without filename
if file.filename == '':
flash('No selected file')
return redirect(request.url)
if file:
# Save the file
file.save(os.path.join(app.config['UPLOAD_FOLDER'], file.filename))
flash(f'File {file.filename} uploaded successfully!')
return redirect(url_for('upload_file'))
return render_template('test/file_upload.html')
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists