Iwlist wlan0 scan en flask python

Messages postés
1
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 mai 2016
-
Bonjour,
je code en flask python un script qui affiche sur ma page web la liste de tous les points d’accès réseau wi-fi.
mais mon code fonctionne une fois sur deux, quand je me connecte sur ma page ça marche et des que je rafraîchi la page il m’affiche une erreur, et j'aimerais que le rafraîchissement soit automatique sans que je rafraîchi moi même
Pouvez vous m'aider s'il vous plaît?
merci .
Cordialement

from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def main():
 import subprocess #premier test pour afficher retour command sur page (au lencement)

cmd1 = subprocess.Popen(['iwlist','wlan0', 'scan'], stdout=subprocess.PIPE) #popen execute une commande externe a l'app (ici ifconfig) stdout et stderr pour pouvoir les afficher
 cmd2 = subprocess.Popen(['egrep', '"ESSID|Address|"'], stdin=cmd1.stdout, stdout=subprocess.PIPE)
 cmd1.stdout.close()
 stdout,error = cmd2.communicate()
 y = stdout.splitlines()#inserer dans la variable test 1 le retour de la commande en lignes
 
 #Cell 01
 
 Admac_1 = y[1] #addresse Mac
 essid_01 = y[1] # le nom de point d'acces
 
 #Cell 02
 Admac_2 = y[2] #addresse Mac
 essid_02 = y[3] # le nom de point d'acces

 #Cell 03
 Admac_3 = y[4] #addresse Mac
 essid_03 = y[5] # le nom de point d'acces

 #Cell 04
 Admac_4 = y[6] #addresse Mac
 essid_04 = y[7] # le nom de point d'acces
 
 #Cell 05
 Admac_5 = y[8] #addresse Mac
 essid_05 = y[9] # le nom de point d'acces

 #Cell 06
 Admac_6 = y[10] #addresse Mac
 essid_06 = y[11] # le nom de point d'acces

 #Cell 07
 Admac_7 = y[12] #addresse Mac
 essid_07 = y[13] # le nom de point d'acces

 #Cell 08
 Admac_8 = y[14] #addresse Mac
 essid_08 = y[15] # le nom de point d'acces

 #Cell 09
 Admac_9 = y[16] #addresse Mac
 essid_09 = y[17] # le nom de point d'acces 

return render_template('demo.html', Admac_1=Admac_1,essid_01=essid_01, Admac_2=Admac_2, essid_02=essid_02, Admac_3=Admac_3, Admac_4=Admac_4, essid_04=essid_04, Admac_5=Admac_5,essid_05=essid_05, essid_06=essid_06, Admac_6=Admac_6, Admac_7=Admac_7,essid_07=essid_07, Admac_8=Admac_8, essid_08=essid_08, Admac_9=Admac_9, essid_09=essid_09)
if __name__ == "__main__":
    app.run(host='0.0.0.0', debug=True)
Afficher la suite