Sindbad~EG File Manager

Current Path : /home/numerotech/hs.numerotech.com/scan_v1/core/controller/
Upload File :
Current File : //home/numerotech/hs.numerotech.com/scan_v1/core/controller/ReportController.py

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