Sindbad~EG File Manager

Current Path : /home/numerotech/hs.numerotech.com/scan_v1/core/library/
Upload File :
Current File : //home/numerotech/hs.numerotech.com/scan_v1/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
from core.library.auth import Auth
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                   = "DELEGATE"
	
	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