Update server.py

This commit is contained in:
Jarjar 2020-08-28 19:20:01 +02:00 committed by GitHub
parent b378012aef
commit 5092cf5728
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,6 +1,7 @@
from flask import Flask, render_template, request, json from flask import Flask, render_template, request, json
import subprocess import subprocess
import os import os
import time
DUMPS_DIR = "DumpDir" DUMPS_DIR = "DumpDir"
KEYFILE = "key-file.txt" KEYFILE = "key-file.txt"
@ -45,6 +46,7 @@ def detectBadge():
while True: # Boucle infinie tant que le badge n'est pas detecté. while True: # Boucle infinie tant que le badge n'est pas detecté.
result = {'Error': '1'} result = {'Error': '1'}
stdout, stderr, return_code = runCommand('nfc-list') stdout, stderr, return_code = runCommand('nfc-list')
time.sleep(2)
stdout = stdout.decode("utf-8") stdout = stdout.decode("utf-8")
lines = stdout.split('\n') lines = stdout.split('\n')
if "Interface opened" in lines[1]: if "Interface opened" in lines[1]:
@ -67,6 +69,7 @@ def readBadge():
while True: # Boucle infinie tant que le badge n'est pas detecté. while True: # Boucle infinie tant que le badge n'est pas detecté.
result = {'Error': '1'} result = {'Error': '1'}
stdout, stderr, return_code = runCommand('nfc-list') stdout, stderr, return_code = runCommand('nfc-list')
time.sleep(2)
stdout = stdout.decode("utf-8") stdout = stdout.decode("utf-8")
lines = stdout.split('\n') lines = stdout.split('\n')
if "Interface opened" in lines[1]: if "Interface opened" in lines[1]:
@ -79,6 +82,7 @@ def readBadge():
break break
else : else :
stdout, stderr, status_code = runCommand('mfoc -f %s -P 500 -O %s/%s.dmp' %(KEYFILE, DUMPS_DIR, badge_UID)) stdout, stderr, status_code = runCommand('mfoc -f %s -P 500 -O %s/%s.dmp' %(KEYFILE, DUMPS_DIR, badge_UID))
time.sleep(2)
if status_code == 0: #Si on a réussi à avoir le dump if status_code == 0: #Si on a réussi à avoir le dump
result = {'status': 'OK', 'UID': badge_UID} result = {'status': 'OK', 'UID': badge_UID}
break break
@ -109,6 +113,7 @@ def copyBadge(uid):
while True: # Boucle infinie tant que le badge n'est pas detecté. while True: # Boucle infinie tant que le badge n'est pas detecté.
result = {'Error': '1'} result = {'Error': '1'}
stdout, stderr, return_code = runCommand('nfc-list') stdout, stderr, return_code = runCommand('nfc-list')
time.sleep(2)
stdout = stdout.decode("utf-8") stdout = stdout.decode("utf-8")
lines = stdout.split('\n') lines = stdout.split('\n')
if "Interface opened" in lines[1]: if "Interface opened" in lines[1]:
@ -116,12 +121,10 @@ def copyBadge(uid):
badge_type = lines[4].replace(' ', ' ') badge_type = lines[4].replace(' ', ' ')
if '00 04' in badge_type: if '00 04' in badge_type:
stdout, stderr, status_code = runCommand('mfoc -P 500 -O %s/new.dmp' %(DUMPS_DIR)) stdout, stderr, status_code = runCommand('mfoc -P 500 -O %s/new.dmp' %(DUMPS_DIR))
print(stdout) time.sleep(2)
print(status_code)
if status_code == 0: #Si on a réussi à avoir le dump if status_code == 0: #Si on a réussi à avoir le dump
stdout, stderr, status_code = runCommand('nfc-mfclassic W a %s/%s.dmp %s/new.dmp' %(DUMPS_DIR, uid, DUMPS_DIR)) stdout, stderr, status_code = runCommand('nfc-mfclassic W a %s/%s.dmp %s/new.dmp' %(DUMPS_DIR, uid, DUMPS_DIR))
print(stdout) time.sleep(2)
print(status_code)
if status_code == 0: #Si on a réussi à copier if status_code == 0: #Si on a réussi à copier
result = {'status': 'OK', 'message': 'Badge copié !'} result = {'status': 'OK', 'message': 'Badge copié !'}
break break