[digicode] Transcript de des fonction get_codes et list_code au nouveau backend

This commit is contained in:
Valentin Samir 2014-02-07 20:12:28 +01:00
parent 7122f040e6
commit 9e46a94877

View file

@ -44,6 +44,7 @@ digicode_pass = secrets_new.get("digicode_pass")
CODES_SERVERS = ["zamok", "asterisk"] CODES_SERVERS = ["zamok", "asterisk"]
CODES_DIR = "/usr/scripts/var/digicode/" CODES_DIR = "/usr/scripts/var/digicode/"
CREATION_LINK = "https://intranet2.crans.org/digicode/create/" CREATION_LINK = "https://intranet2.crans.org/digicode/create/"
LIST_LINK = "https://intranet2.crans.org/digicode/list/"
CERTIFICATE = "/etc/ssl/certs/cacert.org.pem" CERTIFICATE = "/etc/ssl/certs/cacert.org.pem"
# ############################################################# # #############################################################
@ -107,21 +108,20 @@ def gen_code(user_name):
# ############################### # ###############################
# liste les codes et leur age en secondes # liste les codes et leur age en secondes
# #
def list_code(): def list_code(login=None):
""" """
Renvoie la liste des codes existants. Renvoie la liste des codes existants.
La liste est sous la forme [(code, age (en sec), contenu du fichier),...] 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 = [] code_list = []
for aCode in files: for line in response.content.split('\n'):
age = cranslib.utils.files.ageOfFile(os.path.join(CODES_DIR, aCode ) ) if line:
content = read_code_file(aCode) code_list.append(line.split(','))
code_list.append((aCode, age, content ) )
return code_list return code_list
def get_codes(login): 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): def read_code_file(code):
""" """