diff --git a/impression/digicode.py b/impression/digicode.py index 065ae4c4..c68df5d3 100644 --- a/impression/digicode.py +++ b/impression/digicode.py @@ -44,6 +44,7 @@ digicode_pass = secrets_new.get("digicode_pass") CODES_SERVERS = ["zamok", "asterisk"] CODES_DIR = "/usr/scripts/var/digicode/" CREATION_LINK = "https://intranet2.crans.org/digicode/create/" +LIST_LINK = "https://intranet2.crans.org/digicode/list/" CERTIFICATE = "/etc/ssl/certs/cacert.org.pem" # ############################################################# @@ -107,21 +108,20 @@ def gen_code(user_name): # ############################### # liste les codes et leur age en secondes # -def list_code(): +def list_code(login=None): """ Renvoie la liste des codes existants. La liste est sous la forme [(code, age (en sec), contenu du fichier),...] """ - files = os.listdir(CODES_DIR) + response = requests.post(LIST_LINK + login if login else "", data={'password':digicode_pass}, verify=CERTIFICATE, timeout=2) code_list = [] - for aCode in files: - age = cranslib.utils.files.ageOfFile(os.path.join(CODES_DIR, aCode ) ) - content = read_code_file(aCode) - code_list.append((aCode, age, content ) ) + for line in response.content.split('\n'): + if line: + code_list.append(line.split(',')) return code_list def get_codes(login): - return [code for (code, age, uid) in list_code() if uid == login] + return [code for (code, age, uid) in list_code(login)] def read_code_file(code): """