1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
| #!/usr/bin/env python
# -*- coding: utf-8 -*-
# Gestion de l'environnement de l'application
# Compatibilité python versions futures
from __future__ import print_function # Instruction "print" devient fct
#from __future__ import unicode_literals # Toutes chaines en unicode
#from __future__ import absolute_import # Les imports sont en absolu
# Objet pour gérer l'environnement du logiciel
class cEnv(
object): # Objet hérité
"Gestion de l'environnement du logiciel"
# Variables statiques
appli="xxx" # Nom application
version="0.3" # N° de version
release="" # N° de release
modeDevel=True # En développement (None = Arrêt)
langageDefault="fr" # Langage par défaut
maxInstance=0 # Nb max exécutions (0 = infini)
maxSubWindow=3 # Nb max profondeurs sous-fenêtres
qteMax=999 # Quantité maximale
remiseMax=40 # Remise maximale
euro=decimal.Decimal("6.55957") # Prix de l'euro en francs
# Constructeur objet
def __init__(
self, # Instance objet
argv): # Arguments du programme
# Récupération de l'environnement
self.argv=argv
# Nom de l'application
self.name=baseName(argv[0], None)
# Répertoire de travail
self.wdir=dirName(argv[0])
# Répertoire temporaire
self.tmp=tempfile.gettempdir()
if self.tmp == self.wdir:
self.tmp=os.path.join(self.wdir, "tmp")
if not os.path.isdir(self.tmp):
raise IOError, "%s n'existe pas ou n'est pas un répertoire" %\
self.tmp
# Uname
self.host=socket.gethostname()
self.ip=socket.gethostbyname(self.host)
# __init__()
# Débugging
def debug(
self, # Instance objet
*args, # Liste arguments
**kwargs): # Association arguments
# Initialisation
tab=kwargs.get("tab", 0)
# Debugging objet
return "%s%s%s\n" % (
"\t" * tab,
repr(self),
" - %s" % kwargs.get("titre", ""),
)\
+ "".join(
"%s%s\n" % (
"\t" * (tab + 1),
item,
) for item in (
"Appli: [%s] (%s)" % (
self.appli,
type(self.appli),
),
"Version: [%s] (%s)" % (
self.version,
type(self.version),
),
"Release: [%s] (%s)" % (
self.release,
type(self.release),
),
"Mode Devel: [%s] (%s)" % (
self.modeDevel,
type(self.modeDevel),
),
"max instance: [%d] (%s)" % (
self.maxInstance,
type(self.maxInstance),
),
"max sub-window: [%d] (%s)" % (
self.maxSubWindow,
type(self.maxSubWindow),
),
"qté max: [%d] (%s)" % (
self.qteMax,
type(self.qteMax),
),
"euro: [%d] (%s)" % (
self.euro,
type(self.euro),
),
"Working dir: [%s] (%s)" % (
self.wdir,
type(self.wdir),
),
"Name: [%s] (%s)" % (
self.name,
type(self.name),
),
"Host: [%s] (%s)" % (
self.host,
type(self.host),
),
"IP: [%s] (%s)" % (
self.ip,
type(self.ip),
),
"tmp: [%s] (%s)" % (
self.tmp,
type(self.tmp),
),
"pid: [%d] (%s)" % (
os.getpid(),
type(os.getpid()),
),
)
)
# debug()
# class cEnv
# Pour tester le module
if __name__ == "__main__":
# Récupération des éléments nécessaires
import sys
print(cEnv(sys.argv).debug(tab=0))
# if |
Partager