1 #@ MODIF utilsd SD DATE 02/04/2007 AUTEUR COURTOIS M.COURTOIS
2 # -*- coding: iso-8859-1 -*-
3 # CONFIGURATION MANAGEMENT OF EDF VERSION
4 # ======================================================================
5 # COPYRIGHT (C) 1991 - 2007 EDF R&D WWW.CODE-ASTER.ORG
6 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9 # (AT YOUR OPTION) ANY LATER VERSION.
11 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
16 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
17 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
18 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19 # ======================================================================
20 # RESPONSABLE COURTOIS M.COURTOIS
23 Utilitaire sur le catalogue des structures de données.
26 __revision__ = "$Id: utilsd.py,v 1.1.2.2 2007-06-08 09:15:34 pnoyret Exp $"
31 from optparse import OptionParser
33 # ----- get bibpyt location
35 if os.path.islink(main):
36 main = os.path.realpath(main)
37 bibpyt = os.path.normpath(os.path.join(
38 os.path.dirname(os.path.abspath(main)), os.pardir))
39 sys.path.append(bibpyt)
41 # -----------------------------------------------------------------------------
46 mod = __import__('SD.%s' % nomsd, globals(), locals(), [nomsd])
47 klass = getattr(mod, nomsd)
48 except (ImportError, AttributeError), msg:
49 raise ImportError, "impossible d'importer la SD '%s'" % nomsd
52 # -----------------------------------------------------------------------------
54 """Retourne l'arbre des sd en arguments
57 for i, sd in enumerate(args):
58 if len(args) > 1 and i > 0:
60 sd_class = import_sd(sd)
61 tmpobj = sd_class(nomj=nom)
62 l.append(tmpobj.info())
63 return os.linesep.join(l)
65 # -----------------------------------------------------------------------------
66 # -----------------------------------------------------------------------------
67 if __name__ == '__main__':
68 # command arguments parser
69 parser = OptionParser(usage=__doc__)
70 parser.add_option('-t', '--tree', dest='tree',
71 action='store_true', default=False,
72 help="affiche une SD sous forme d'arbre")
73 parser.add_option('--nom', dest='nom',
74 action='store', default='^'*8,
75 help="nom du concept dans les représentations")
76 parser.add_option('-a', '--all', dest='all',
77 action='store_true', default=False,
78 help="construit la liste des SD à partir des fichiers 'sd_*.py' trouvés")
80 opts, l_sd = parser.parse_args()
82 l_fich = glob(os.path.join(bibpyt, 'SD', 'sd_*.py'))
83 l_sd = [os.path.splitext(os.path.basename(f))[0] for f in l_fich]
86 parser.error('quelle(s) structure(s) de données ?')
89 print tree(opts.nom, *l_sd)