[printing] Retour à try_import
This reverts commit a79e0a4113
.
Il vaut mieux laisser les imports en tête de fichier dans la mesure du
possible. De plus, cette erreur est plus confortable, car l'apprenti sait
dès le départ qu'il y a un problème. Enfin, ce bout de code try_import
peut servir pour d'autres imports posant des problèmes. On prend cependant
note que try_import pour annuaires_pg n'est pas utile.
This commit is contained in:
parent
592394a030
commit
7d0d6a8352
1 changed files with 26 additions and 3 deletions
|
@ -1,13 +1,36 @@
|
|||
#!/bin/bash /usr/scripts/python.sh
|
||||
# -*- coding: utf-8 -*-
|
||||
from gestion.affich_tools import coul, tableau
|
||||
import importlib
|
||||
import time
|
||||
import sys
|
||||
import gestion.annuaires_pg
|
||||
|
||||
# Import inutile, mais on en a besoin pour que le
|
||||
# script continue à fonctionner.
|
||||
import gestion
|
||||
|
||||
def try_import(lib):
|
||||
"""
|
||||
Cette fonction sert à faire de l'import soft : si l'import
|
||||
crashe, par exemple, si le fichier de secrets ne peut être
|
||||
lu par un apprenti, ça permet toujours d'utiliser ce
|
||||
qui n'utilise pas l'import raté.
|
||||
"""
|
||||
if not isinstance(lib, unicode):
|
||||
lib = lib.decode('utf-8')
|
||||
try:
|
||||
lib = importlib.import_module(lib)
|
||||
except:
|
||||
if sys.stdout.isatty():
|
||||
print (u"Impossible d'importer %s, c'est sans doute un problème de droits." % lib).encode('utf-8')
|
||||
lib = None
|
||||
return lib
|
||||
|
||||
# Ici, on utilise le module gestion importé
|
||||
gestion.whos = try_import(u"gestion.whos")
|
||||
gestion.annuaires_pg = try_import("gestion.annuaires_pg")
|
||||
|
||||
def prise_etat(chbre):
|
||||
# Il faut écrire une vrai fonction pour ça au lieu d'utiliser celle du vieux whos cf Jeudi28Novembre2013
|
||||
import gestion.whos
|
||||
if chbre=="????":
|
||||
return coul("Chambre invalide", "violet")
|
||||
return gestion.whos.prise_etat(chbre)[0]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue