Get and write total register attempts by date
This commit is contained in:
pare
c614ff3eb1
commit
e929ea2526
S'han modificat 2 arxius amb 83 adicions i 0 eliminacions
|
@ -157,6 +157,11 @@ if __name__ == '__main__':
|
|||
sql = "create table "+table+" (created_at timestamptz, ip inet PRIMARY KEY)"
|
||||
create_table(db, db_user, table, sql)
|
||||
|
||||
table = "totals"
|
||||
sql = "create table "+table+" (datetime timestamptz PRIMARY KEY, registers int)"
|
||||
create_table(db, db_user, table, sql)
|
||||
|
||||
|
||||
|
||||
############################################################
|
||||
|
||||
|
|
78
spamcheck.py
78
spamcheck.py
|
@ -11,6 +11,80 @@ from langdetect import detect
|
|||
import requests
|
||||
import pdb
|
||||
|
||||
def write_totals(spamcheck_datetime_lst, spamcheck_registers_lst):
|
||||
|
||||
insert_sql = 'INSERT INTO totals(datetime, registers) VALUES(%s,%s) ON CONFLICT (datetime) DO UPDATE SET (datetime, registers) = (EXCLUDED.datetime, EXCLUDED.registers)'
|
||||
|
||||
i = 0
|
||||
|
||||
while i < len(spamcheck_datetime_lst):
|
||||
|
||||
conn = None
|
||||
|
||||
try:
|
||||
|
||||
conn = psycopg2.connect(database = spamcheck_db, user = spamcheck_db_user, password = "", host = "/var/run/postgresql", port = "5432")
|
||||
|
||||
cur = conn.cursor()
|
||||
|
||||
cur.execute(insert_sql, (spamcheck_datetime_lst[i], spamcheck_registers_lst[i]))
|
||||
|
||||
conn.commit()
|
||||
|
||||
cur.close()
|
||||
|
||||
except (Exception, psycopg2.DatabaseError) as error:
|
||||
|
||||
print(error)
|
||||
|
||||
finally:
|
||||
|
||||
if conn is not None:
|
||||
|
||||
conn.close()
|
||||
|
||||
i += 1
|
||||
|
||||
def get_totals():
|
||||
|
||||
spamcheck_datetime_lst = []
|
||||
|
||||
spamcheck_registers_lst = []
|
||||
|
||||
select_sql = 'select date(created_at), count(ip) as registers from spamcheck group by date(created_at) order by date(created_at)'
|
||||
|
||||
conn = None
|
||||
|
||||
try:
|
||||
|
||||
conn = psycopg2.connect(database = spamcheck_db, user = spamcheck_db_user, password = "", host = "/var/run/postgresql", port = "5432")
|
||||
|
||||
cur = conn.cursor()
|
||||
|
||||
cur.execute(select_sql)
|
||||
|
||||
rows = cur.fetchall()
|
||||
|
||||
for row in rows:
|
||||
|
||||
spamcheck_datetime_lst.append(row[0])
|
||||
|
||||
spamcheck_registers_lst.append(row[1])
|
||||
|
||||
cur.close()
|
||||
|
||||
except (Exception, psycopg2.DatabaseError) as error:
|
||||
|
||||
print(error)
|
||||
|
||||
finally:
|
||||
|
||||
if conn is not None:
|
||||
|
||||
conn.close()
|
||||
|
||||
return (spamcheck_datetime_lst, spamcheck_registers_lst)
|
||||
|
||||
def check_ip(ip):
|
||||
|
||||
is_tor_exit_node = 'f'
|
||||
|
@ -296,3 +370,7 @@ if __name__ == '__main__':
|
|||
if conn is not None:
|
||||
|
||||
conn.close()
|
||||
|
||||
spamcheck_datetime_lst, spamcheck_registers_lst = get_totals()
|
||||
|
||||
write_totals(spamcheck_datetime_lst, spamcheck_registers_lst)
|
||||
|
|
Loading…
Referencia en una nova incidència