Sindbad~EG File Manager
from core import app
from flask import render_template_string
from flask import url_for,render_template,request,redirect,session
from datetime import datetime, date, time, timedelta
import datetime
import math,random
import time
from requests.utils import requote_uri
import boto3
class Helper:
AppType = "MEMBERSHIP"
AiosMembershipNumber = ['vrsi','mos','tnoa']
AadhaarNumber = ['tnoa']
AadhaarAddress = ['tnoa']
ColumnDescription = ['vrsi','mos','tnoa','ipgs','csos','apots']
HospitalAddress = {'iages':{'show':1,'req':1}}
AttachTypeId = {'vrsi':7,'tnoa':12,'mos':1,'asitn':41,'csos':23,'ipgs':16,'apots':17,'iages':33}
AssociateMemberId = 6
FellowshipAttachId = {'vrsi' :11}
def date_diff(d1, d2):
# fmt = '%H:%M'
d1 = date(d1,'%Y, %m, %d')
d2 = date(d2,'%Y, %m, %d')
diff = str(d1) - str(d2)
return diff
def random_otp():
digits = "123456789"
otp_random = ""
for i in range(4) :
random.seed(time.process_time())
otp_random += digits[math.floor(random.random() * 9)]
print(otp_random)
return otp_random
def getcurrenttimestamp():
ct = datetime.datetime.now()
ts = ct.timestamp()
return ts
def email_mask(email):
if email:
lo = email.find('@')
if lo>0:
mask_email = email[0]+"*****"+email[lo-1:]
return mask_email
return email
def mobile_mask(mobile):
if mobile:
lo = len(mobile)
if lo>0:
mask = mobile[:2]+"******"+mobile[lo-2:]
return mask
return mobile
def convert_html_for_payment_screen(payment_content,member):
temp = app.jinja_env.from_string("{{payment_content.payment_content|safe}}").render(payment_content=payment_content,member=member)
return render_template_string(temp,payment_content=payment_content,member=member)
# def convert_html_for_mail_screen(mail_content,userData,qul_data,exp_data,image,prosec_data,society):
# temp = app.jinja_env.from_string("{{mail_content|safe}}").render(mail_content=mail_content,userData=userData,qul_data=qul_data,exp_data=exp_data,image=image,prosec_data=prosec_data,society=society)
# return render_template_string(temp,mail_content=mail_content,userData=userData,qul_data=qul_data,exp_data=exp_data,image=image,prosec_data=prosec_data,society=society)
def convert_html_for_mail_screen(data):
temp = app.jinja_env.from_string("{{mail_content|safe}}").render(**data)
return render_template_string(temp,**data)
def merge_tags(text,values):
for k, v in values.items():
text = text.replace('*|'+k+'|*', v)
return text
def pagination_tool(total,page,limit):
numpages = math.ceil(total/limit)
return render_template('back_office/pagination.html',total=total,limit=limit,page=page,numpages=numpages)
def base_url():
base_url = request.host_url
if "https" in base_url :
pass
else :
base_url = base_url.replace("http" ,"https")
return base_url
def sendWhatsApp(mobile,wp_content):
wp_content = requote_uri(wp_content)
h_link = "http://wa.me/91"+mobile+"?text="+wp_content
return h_link
def getSoceityAssets(society_id,asset_name):
assets_dict = session.get('asset_'+str(society_id),None) # check asset data from session
if assets_dict is None: # if session data not the get from database and set in session
assetsData = SocietyAssets().getsociety_assets(society_id)
assets_dict = {}
for ad in assetsData:
assets_dict[ad['asset_name']] = ad['asset_url']
session['asset_'+str(society_id)] = assets_dict # set asset_dict to session
return assets_dict[asset_name]
def s3_pagination(bucket,folder,maxitems,pagesize,page_no):
session = boto3.Session( aws_access_key_id='AKIAILLDAQ7NFUMVOYLQ', aws_secret_access_key='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')
s3 = session.client("s3")
paginator = s3.get_paginator("list_objects_v2")
result = paginator.paginate(Bucket=bucket, Prefix=folder, Delimiter='/', PaginationConfig={
'MaxItems': maxitems,
'PageSize': pagesize,
})
list_data = []
for page in result:
list_data.append(page)
# print(len(list_data))
# print(list_data)
if len(list_data) >= page_no:
# print(list_data[page_no-1])
return list_data[page_no-1] if list_data else None
else:
return None
def s3_pagination_v2(bucket,folder,maxitems,pagesize):
session = boto3.Session( aws_access_key_id='AKIAILLDAQ7NFUMVOYLQ', aws_secret_access_key='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')
s3 = session.client("s3")
paginator = s3.get_paginator("list_objects_v2")
result = paginator.paginate(Bucket=bucket, Prefix=folder, Delimiter='/', PaginationConfig={
'MaxItems': maxitems,
'PageSize': pagesize,
})
list_data = []
CommonPrefixes = []
Contents = []
i = 0
for page in result:
list_data.append(page)
if 'CommonPrefixes' in list_data[i]:
CommonPrefixes = CommonPrefixes + list_data[i]['CommonPrefixes']
if 'Contents' in list_data[i]:
Contents = Contents + list_data[i]['Contents']
i = i+1
print(len(CommonPrefixes))
print(len(Contents))
json_data = {'Contents':Contents , 'CommonPrefixes':CommonPrefixes }
return json_data
app.jinja_env.globals.update(Helper=Helper)
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists