Sindbad~EG File Manager

Current Path : /home/numerotech/conf-cmescan.numerotech.com/conference_cmescan/core/library/
Upload File :
Current File : //home/numerotech/conf-cmescan.numerotech.com/conference_cmescan/core/library/helper.py

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           = "CME"
	active_key        = "CME"
	
	def isAjax(request):
		if request.headers.get("X-Requested-With") == "XMLHttpRequest":
			return True
		else:
			return False
	
	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