Sindbad~EG File Manager
from core import app
from flask import url_for,render_template_string
from datetime import datetime, date, time, timedelta
import random
import math,random
import time
from num2words import num2words
import base64
import requests
import pyqrcode
import io
import png
#settime working as global variable but commented for easy identification of this variable using class name
# global settime
# settime = 5
class Helper:
# PaymentGatewayAppMasterID = 7 # IAGES23 razorpay
# PaymentGatewayISTest = 1 # testmode = 1
DefaultCountryID = 101 # for india country code
AppType = "KIT"
active_key = "KIT"
def test_login(data):
return "Virtual Conference - 1"
def footer_text():
return "Virtual Conference - 1"
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)
# print(diff)
return diff
def random4digt():
digits = "123456789"
otp_random = ""
for i in range(4) :
random.seed(time.process_time())
otp_random += digits[math.floor(random.random() * 9)]
return otp_random
def amountTowords(amount):
words_in_amount = num2words(amount, lang='en_IN')
return words_in_amount
def amountTodecimal(amount):
num = int(amount)
rs = f"{num:,}"
return rs
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 formatINR(number):
s, *d = str(number).partition(".")
r = ",".join([s[x-2:x] for x in range(-3, -len(s), -2)][::-1] + [s[-3:]])
return "".join([r] + d)
def convert_html(data):
temp = app.jinja_env.from_string("{{login_content|safe}}").render(**data)
return render_template_string(temp,**data)
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)]
return otp_random
# Dec 23 ,2022 Siva To convert jinja tag to html
def convert_jinja_template(self,data1,data):
temp = app.jinja_env.from_string(data1).render(data=data)
return render_template_string(temp)
def base64encode(value):
basevalue = value.encode("ascii")
base64_bytes = base64.b64encode(basevalue)
return base64_bytes.decode("ascii")
def convert_b64(encode_txt):
sample_string = encode_txt
sample_string_bytes = sample_string.encode("ascii")
base64_bytes = base64.b64encode(sample_string_bytes)
base64_string = base64_bytes.decode("ascii")
return base64_string
def split_delegate_ids(delegate_ids):
if delegate_ids:
delegate_id = delegate_ids.split(',')
delegate_ids = len(delegate_id)
else:
delegate_ids = 0
return delegate_ids
def merge_tags(text,values):
for k, v in values.items():
text = text.replace('*|'+k+'|*', v)
return text
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 leftrightstrip(text):
if text :
ltext = text.lstrip()
rtext = ltext.rstrip()
striped_text = rtext
return striped_text
else :
pass
def getcurrenttimestamp():
ct = datetime.now()
ts = ct.timestamp()
return ts
def ImageDecodeBase64(url):
if url:
bytes_string = base64.b64encode(requests.get(url).content)
aa = str(bytes_string, 'utf-8')
return aa
else :
return " "
def getQRCode(delegate_no):
c = pyqrcode.create(delegate_no)
s = io.BytesIO()
c.png(s,scale=6)
encoded = base64.b64encode(s.getvalue()).decode("ascii")
return encoded
def getQRCodeWithBg(delegate_no,color_code):
c = pyqrcode.create(delegate_no)
s = io.BytesIO()
# c.png(s,scale=6) dcf2fb a2b2da
c.png(s,scale=6, background=color_code)
#
encoded = base64.b64encode(s.getvalue()).decode("ascii")
return encoded
def get_url_base64(url):
return "data:image/jpg;base64," + base64.b64encode(requests.get(url).content).decode('ascii')
# return base64.b64encode(urlopen(url).read())
def getcurrenttimestamp():
ct = datetime.now()
ts = ct.timestamp()
return ts
app.jinja_env.globals.update(Helper=Helper)
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists