Remove Variable Global incohérence in code

This commit is contained in:
kitoy 2025-12-21 19:27:16 +01:00
parent 5c1dfb1fee
commit 3e1c9439ec

View File

@ -5,6 +5,7 @@ from markupsafe import escape
import time import time
import sqlite3 import sqlite3
import os import os
import subprocess
from shutil import copy from shutil import copy
from socket import gethostname from socket import gethostname
from flask_bcrypt import Bcrypt from flask_bcrypt import Bcrypt
@ -372,12 +373,12 @@ def invitation():
@profil.route('/gen_token/', methods=['GET']) @profil.route('/gen_token/', methods=['GET'])
@login_required @login_required
def generate_token(): def generate_token():
UTILISATEUR='%s' % escape(session['username']) user='%s' % escape(session['username'])
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
cursor = conn.cursor() # Création de l'objet "curseur" cursor = conn.cursor() # Création de l'objet "curseur"
token = gen_token("Invitation") token = gen_token("Invitation")
cursor.execute("UPDATE users SET Token=? WHERE name=?", cursor.execute("UPDATE users SET Token=? WHERE name=?",
(token, UTILISATEUR)) (token, user))
conn.commit() conn.commit()
conn.close() conn.close()
return redirect(BASE_URL+'invitation/') return redirect(BASE_URL+'invitation/')
@ -386,62 +387,58 @@ def generate_token():
@profil.route( '/delete_me/', methods=['GET','POST']) @profil.route( '/delete_me/', methods=['GET','POST'])
@login_required @login_required
def delete_account(): def delete_account():
UTILISATEUR='%s'% escape(session['username']) user='%s'% escape(session['username'])
resp = render_template('delete_account.html', time_backup=BACKUP_TIME) resp = render_template('delete_account.html', time_backup=BACKUP_TIME)
if request.method == 'POST' : if request.method == 'POST' :
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
cursor = conn.cursor() # Création de l'objet "curseur" cursor = conn.cursor() # Création de l'objet "curseur"
cursor.execute("""SELECT passwd FROM users WHERE name=?""", (UTILISATEUR,)) cursor.execute("""SELECT passwd FROM users WHERE name=?""", (user,))
passwd = cursor.fetchone()[0] passwd = cursor.fetchone()[0]
cursor.execute("""SELECT mail FROM users WHERE name=?""", (UTILISATEUR,)) cursor.execute("""SELECT mail FROM users WHERE name=?""", (user,))
mail = cursor.fetchone()[0] mail = cursor.fetchone()[0]
conn.close() conn.close()
password = request.form['passwd'] password = str(request.form['passwd'])
if bcrypt.check_password_hash(passwd, password) is True: if bcrypt.check_password_hash(passwd, password) is True:
not_error = True not_error = True
# Delete mail account
if MAIL_SERVER: if MAIL_SERVER:
try: try:
cmd = SETUID + ' set_mail_passwd del ' + '"'+mail+'"' cmd = subprocess.run([SETUID, 'set_mail_passwd','del',mail])
print(cmd)
os.system(cmd)
except: except:
not_error = False not_error = False
flash(u'Erreur lors de la suppression de votre compte Mail.', 'error') flash(u'Erreur lors de la suppression de votre compte Mail.', 'error')
# Delete the XMPP account
if XMPP_SERVER: if XMPP_SERVER:
try: try:
tmp = mail.split('@') cmd = subprocess.run([SETUID,'prosodyctl', 'deluser', mail])
cmd = SETUID+ ' prosodyctl deluser ' "'"+tmp[0]+"' " + "'"+tmp[1]+"'" print(str(cmd))
os.system(cmd)
except: except:
not_error = False not_error = False
flash(u'Erreur lors de la suppression de votre compte XMPP.', 'error') flash(u'Erreur lors de la suppression de votre compte XMPP.', 'error')
if not_error: # Delete files
try: try:
cmd = 'rm -r ' + DATAS_USER + '/' + UTILISATEUR cmd = subprocess.run(['rm', '-r', DATAS_USER + '/' + user])
if os.system(cmd) != 0: print(str(cmd))
if cmd.returncode != 0:
raise TypeError("Remove directory error") raise TypeError("Remove directory error")
except: except:
flash(u'Erreur lors de la suppression de votre dossier utilisateur.', 'error') flash(u'Erreur lors de la suppression de votre dossier utilisateur.', 'error')
not_error = False
try: if not_error:
conn = sqlite3.connect(DATABASE) conn = sqlite3.connect(DATABASE)
cursor = conn.cursor() cursor = conn.cursor()
cursor.execute("""DELETE FROM users WHERE name=?""", (UTILISATEUR,)) cursor.execute("""DELETE FROM users WHERE name=?""", (user,))
cursor.execute("""DELETE FROM posts WHERE author=?""", (UTILISATEUR,)) cursor.execute("""DELETE FROM Blog_posts WHERE author=?""", (user,))
conn.commit() conn.commit()
conn.close() conn.close()
except: flash(u'Désinscription réalisé avec succés, y\'a plus rien !', 'success')
flash(u'Erreur lors de la suppression de votre compte.', 'error')
else:
flash(u'Désinscription réalisé avec succés, y\'a plus rien !', 'succes')
resp = redirect(url_for('loginlogout.logout')) resp = redirect(url_for('loginlogout.logout'))
else: else:
flash(u'Mauvais mot de passe', 'error') flash(u'Mauvais mot de passe', 'error')
return resp return resp