ifms-conselho/libx.py
2023-03-08 10:40:06 -04:00

120 lines
5.0 KiB
Python

# coding: utf8
#------------------------------------------------------------------------------------------------------------------------------
from config import *
#------------------------------------------------------------------------------------------------------------------------------
# Flask / Server
#------------------------------------------------------------------------------------------------------------------------------
from waitress import serve
from flask import Flask, redirect, url_for, render_template, request, session,jsonify,send_file
#------------------------------------------------------------------------------------------------------------------------------
# MongoDB
#------------------------------------------------------------------------------------------------------------------------------
import pymongo
from pymongo import MongoClient
from bson.objectid import ObjectId
import json
import simplejson
import urllib
#------------------------------------------------------------------------------------------------------------------------------
# email
#------------------------------------------------------------------------------------------------------------------------------
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib
#------------------------------------------------------------------------------------------------------------------------------
# API
#------------------------------------------------------------------------------------------------------------------------------
from datetime import datetime, timedelta
from random import randint
import pyqrcodeng
#------------------------------------------------------------------------------------------------------------------------------
# genérico
#------------------------------------------------------------------------------------------------------------------------------
from math import radians, cos, sin, asin, sqrt, acos,ceil,floor
#------------------------------------------------------------------------------------------------------------------------------
import os
import glob
#------------------------------------------------------------------------------------------------------------------------------
# API
#------------------------------------------------------------------------------------------------------------------------------
import re
import base64
#------------------------------------------------------------------------------------------------------------------------------
# Ranking
#------------------------------------------------------------------------------------------------------------------------------
import threading
import time
#------------------------------------------------------------------------------------------------------------------------------
# IA
#------------------------------------------------------------------------------------------------------------------------------
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
import numpy as np
from random import random
# from sklearn.metrics import accuracy_score
from scipy.io.wavfile import write
import _pickle as pkl
def stringToBase64(s):
return base64.b64encode(s.encode('utf-8'))
def base64ToString(b):
try:
return base64.b64decode(b).decode('utf-8')
except ValueError:
return base64.b64decode(b).decode('ISO-8859-1').encode('utf8').decode('utf8')
def RANDON_CODES(number_of_codes=1,not_can_do=[],digits=50):
m = "0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
codigos_gedados = []
while len(codigos_gedados)<number_of_codes:
nao_encontrado = True
codigo = ""
while nao_encontrado:
for i in range(0,digits):
codigo+= m[randint(0,len(m)-1)]
if codigo in not_can_do:
codigo = ""
else:
codigos_gedados.append(codigo)
not_can_do.append(codigo)
nao_encontrado = False
return codigos_gedados
def EMAIL(to,subject,body):
try:
me = GMAIL_USER
you = to
# Create message container - the correct MIME type is multipart/alternative.
msg = MIMEMultipart('alternative')
msg['Subject'] =subject
msg['From'] = me
msg['To'] = you
# Create the body of the message (a plain-text and an HTML version).
text = ""
html = body
# Record the MIME types of both parts - text/plain and text/html.
#part1 = MIMEText(text, 'plain')
part2 = MIMEText(html, 'html')
# Attach parts into message container.
# According to RFC 2046, the last part of a multipart message, in this case
# the HTML message, is best and preferred.
#msg.attach(part1)
msg.attach(part2)
# Send the message via local SMTP server.
mail = smtplib.SMTP(GMAIL_SERVER, GMAIL_PORT)
mail.ehlo()
mail.starttls()
mail.login(GMAIL_USER, GMAIL_PASSWORD)
try:
mail.sendmail(me, you, msg.as_string())
mail.quit()
return True
except Exception as e:
return False
else:
return True
except Exception as e:
return False
else:
return True