[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
|
#!/bin/bash /usr/scripts/python.sh
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
from gestion.affich_tools import coul, tableau
|
from gestion.affich_tools import coul, tableau
|
||||||
|
import importlib
|
||||||
import time
|
import time
|
||||||
import sys
|
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):
|
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=="????":
|
if chbre=="????":
|
||||||
return coul("Chambre invalide", "violet")
|
return coul("Chambre invalide", "violet")
|
||||||
return gestion.whos.prise_etat(chbre)[0]
|
return gestion.whos.prise_etat(chbre)[0]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue