44 lines
2 KiB
Python
Executable file
44 lines
2 KiB
Python
Executable file
import MySQLdb
|
|
from users.models import User
|
|
from machines.models import Machine,Interface
|
|
|
|
def connect_sql():
|
|
return MySQLdb.connect(host="roulette.rez", # your host, usually localhost
|
|
user="hydra-user", # your username
|
|
passwd="q5kBLchS6ooAZDSxMeJG2gdf4gmJcfS5", # your password
|
|
db="roulette") # name of the data base
|
|
|
|
def process():
|
|
# Connexion à la base SQLite locale
|
|
con = connect_sql()
|
|
cur = con.cursor()
|
|
print("Drop tables")
|
|
cur.execute('''drop table if exists players''')
|
|
cur.execute('''drop table if exists machines''')
|
|
print("create tables")
|
|
cur.execute('''create table players (id integer primary key auto_increment,firstname text not null,name text not null, ban_end double not null)''')
|
|
cur.execute('''create table machines (id int primary key auto_increment,player_id int not null,ip text not null)''')
|
|
print("select players")
|
|
cur.execute("""select id from players""")
|
|
players = cur.fetchall()
|
|
players = [player[0] for player in players]
|
|
|
|
print("select machines")
|
|
cur.execute("""select ip from machines""")
|
|
machines = cur.fetchall()
|
|
machines = [machine[0] for machine in machines]
|
|
u = User.objects.filter(school=1)
|
|
print("Let's go !!!")
|
|
for x,user in enumerate(u):
|
|
print("Avancement : {}%".format(round(x/len(u)*100, 2)), end="\r")
|
|
if user.has_access() and (user.is_adherent() or user.end_adhesion()):
|
|
if user.uid_number not in players:
|
|
s = """insert into players values ({},"{}","{}",{});""".format(user.uid_number, user.name, user.surname, 0)
|
|
cur.execute(s)
|
|
for m in Machine.objects.filter(user= user):
|
|
for i in Interface.objects.filter(machine = m):
|
|
if i.ipv4.ipv4 not in machines:
|
|
s = """insert into machines values ({},{},"{}") ;""".format(i.id, user.uid_number, i.ipv4.ipv4)
|
|
cur.execute(s)
|
|
con.commit()
|
|
con.close()
|