From bec6e72fcddbe8c8cf61692d6703906f81c1abcb Mon Sep 17 00:00:00 2001 From: Renaud Barate Date: Thu, 21 Apr 2011 08:11:16 +0000 Subject: [PATCH] Integrated Noyau from Aster --- Noyau/N_FACT.py | 12 +++++++++--- Noyau/N_types.py | 12 ++++++++++-- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Noyau/N_FACT.py b/Noyau/N_FACT.py index a7cb8708..ef431a75 100644 --- a/Noyau/N_FACT.py +++ b/Noyau/N_FACT.py @@ -1,9 +1,9 @@ -#@ MODIF N_FACT Noyau DATE 07/09/2009 AUTEUR COURTOIS M.COURTOIS +#@ MODIF N_FACT Noyau DATE 22/03/2011 AUTEUR COURTOIS M.COURTOIS # -*- coding: iso-8859-1 -*- # RESPONSABLE COURTOIS M.COURTOIS # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR @@ -32,6 +32,7 @@ import N_ENTITE import N_MCFACT import N_MCLIST from N__F import _F +from N_types import is_enum import N_OBJECT @@ -105,7 +106,7 @@ class FACT(N_ENTITE.ENTITE): - Si defaut != None, on utilise cette valeur pour calculer la valeur par defaut du mot cle facteur """ - if val == None: + if val is None: if self.defaut == None: val={} elif type(self.defaut) == types.TupleType: @@ -117,6 +118,11 @@ class FACT(N_ENTITE.ENTITE): # On ne devrait jamais passer par la print "On ne devrait jamais passer par la" return None + elif is_enum(val) and len(val) == 0 and self.statut == 'o': + # On est dans le cas où le mcfact est présent mais est une liste/tuple + # vide. Il est obligatoire donc on l'initialise. Les règles, mots-clés + # obligatoires diront si un mcfact vide est accepté. + val = {} # On cree toujours une liste de mcfact l=self.list_instance() diff --git a/Noyau/N_types.py b/Noyau/N_types.py index be4e9726..8fd7305f 100644 --- a/Noyau/N_types.py +++ b/Noyau/N_types.py @@ -1,8 +1,8 @@ -#@ MODIF N_types Noyau DATE 11/05/2010 AUTEUR COURTOIS M.COURTOIS +#@ MODIF N_types Noyau DATE 14/03/2011 AUTEUR COURTOIS M.COURTOIS # -*- coding: iso-8859-1 -*- # CONFIGURATION MANAGEMENT OF EDF VERSION # ====================================================================== -# COPYRIGHT (C) 1991 - 2010 EDF R&D WWW.CODE-ASTER.ORG +# COPYRIGHT (C) 1991 - 2011 EDF R&D WWW.CODE-ASTER.ORG # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR @@ -59,3 +59,11 @@ def is_assd(obj): return isinstance(obj, ASSD) +def force_list(obj): + """Retourne `obj` si c'est une liste ou un tuple, + sinon retourne [obj,] (en tant que list). + """ + if not is_enum(obj): + obj = [obj,] + return list(obj) + -- 2.39.2