Python - Criando um limite de acesso por dia com SQL
Python - Gerando variaveis | ||
Canal Qb |
Amigo, não vou me aprofundar em um script 100% criado, apenas vou informar a logica que uso.
Crie seu db normalmente e inclua uma tabela
cursor.execute("CREATE TABLE IF NOT EXISTS PORDIABLOG (DATA TEXT, TENVIO TEXT)")
Neste exemplo estou pedindo para cria a tabela PORDIABLOG, que vai contar envios por dia dentro do meu blog via email:
Então aplico uma condição, para que se nesse dia ainda não tenha enviado nada ele atribua um valor para variavel, e se já envou algo, ele apenas informe o total que já registrou.
try: #recebe o valor do ultimo envio consultado da coluna tenvio na tabela PORDIABLOG
tenvio = int(records[0])
except:
tenvio = 0
connection = sqlite3.connect(banco)
cursor = connection.cursor()
cursor.execute("INSERT INTO PORDIABLOG (DATA, TENVIO) VALUES ('" + str(dt_string) + "', '" + str(tenvio) + "') ")
connection.commit()
connection.close()
contadorfinal = contador
Então aplico uma condição, para que se nesse dia ainda não tenha enviado nada ele atribua um valor para variavel, e se já envou algo, ele apenas informe o total que já registrou.
...seu código
Abaixo eu informo ao script para inserir o primeiro valor dentro do sql, para registrar para novas consultas:
now = datetime.now()
dt_string = now.strftime("%d/%m/%Y")
connection = sqlite3.connect(banco)
cursor = connection.cursor()
cursor.execute("SELECT TENVIO FROM PORDIABLOG WHERE DATA = '" + str(dt_string) + "'")
records = cursor.fetchone() #conta se frase esta cadastradas
try: #recebe o valor do ultimo envio consultado da coluna tenvio na tabela PORDIABLOG
tenvio = int(records[0])
except:
tenvio = 0
connection = sqlite3.connect(banco)
cursor = connection.cursor()
cursor.execute("INSERT INTO PORDIABLOG (DATA, TENVIO) VALUES ('" + str(dt_string) + "', '" + str(tenvio) + "') ")
connection.commit()
while contador < contadorfinal + retorna: #Este while representa quantas vezes queremos que ele consulte o link, pode trocar por input
try:
if tenvio >= limiteenvio:
print("\n\tEnvio maximo para o Blogspot, atingido")
break
...seu codigo
E por fim, cada vez que a rotina for concluida com exito, ele atualiza a tabela do DB informando o total.
connection = sqlite3.connect(banco)
cursor = connection.cursor()
cursor.execute("UPDATE PORDIABLOG SET TENVIO = '" + str(tenvio) + "' WHERE DATA = '" + str(dt_string) + "'; ")
connection.commit()
connection.close()
Você pode usar esse codigo, em back-end ou front-end, isso pode variar da necessidade de cada aplicação.
Este acima foi um exemplo simples, e um dos milhares de exemplo, pois cada um tem uma forma de criar, espero que ajude, e se ajudar, curta meu canal no youtube @CanalQb
Nenhum comentário
Comente só assim vamos crescer juntos!
Observação: somente um membro deste blog pode postar um comentário.