digicode: exception si http status ≠ 200
This commit is contained in:
parent
561f4b832c
commit
9a5c8352b9
1 changed files with 13 additions and 0 deletions
|
@ -52,6 +52,15 @@ if socket.gethostname() not in CODES_SERVERS:
|
|||
raise EnvironmentError("La manipulation des codes pour le digicode n'est possible que sur %s" %
|
||||
', '.join(CODES_SERVERS))
|
||||
|
||||
class CommunicationError(Exception):
|
||||
pass
|
||||
|
||||
def check_status(req):
|
||||
status = req.status_code
|
||||
if status != 200:
|
||||
#TODO un peu plus d'info sur l'erreur
|
||||
raise CommunicationError("Bad status from intranet: %d" % status)
|
||||
|
||||
# ###############################
|
||||
# save_code
|
||||
# ###############################
|
||||
|
@ -61,6 +70,7 @@ def save_code(code, user_name):
|
|||
"""enregistre le codes pour ``user_name``"""
|
||||
code = str(code)
|
||||
response = requests.post(CREATION_LINK + code, data={'password':digicode_pass, 'user':user_name}, verify=CERTIFICATE, timeout=2)
|
||||
check_status(response)
|
||||
try:
|
||||
code = int(response.content)
|
||||
except (TypeError, ValueError):
|
||||
|
@ -77,6 +87,7 @@ def save_code(code, user_name):
|
|||
def gen_code(user_name):
|
||||
"""On contacte l'intranet 2 pour générer le code et on récupère le résultat"""
|
||||
response = requests.post(CREATION_LINK, data={'password':digicode_pass, 'user':user_name}, verify=CERTIFICATE, timeout=2)
|
||||
check_status(response)
|
||||
return response.content
|
||||
|
||||
|
||||
|
@ -91,6 +102,8 @@ def list_code(login=None):
|
|||
La liste est sous la forme [(code, age (en sec), contenu du fichier),...]
|
||||
"""
|
||||
response = requests.post(LIST_LINK + (login if login else ""), data={'password':digicode_pass}, verify=CERTIFICATE, timeout=2)
|
||||
|
||||
check_status(response)
|
||||
code_list = []
|
||||
for line in response.content.split('\n'):
|
||||
if line:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue