objdictgen/eds_utils.py
changeset 550 3486df466565
parent 549 2b6286f69022
child 580 2ae92a99ac10
equal deleted inserted replaced
549:2b6286f69022 550:3486df466565
    22 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    22 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    23 
    23 
    24 
    24 
    25 import node
    25 import node
    26 from node import nosub, var, array, rec, plurivar, pluriarray, plurirec
    26 from node import nosub, var, array, rec, plurivar, pluriarray, plurirec
    27 from sets import *
    27 try:
       
    28     set
       
    29 except NameError:
       
    30     from sets import Set as set
    28 from types import *
    31 from types import *
    29 from time import *
    32 from time import *
    30 import os,re
    33 import os,re
    31 
    34 
    32 # Regular expression for finding index section names
    35 # Regular expression for finding index section names
   366         # If entry is an index or a subindex
   369         # If entry is an index or a subindex
   367         if is_entry:
   370         if is_entry:
   368             # Verify that entry has an ObjectType
   371             # Verify that entry has an ObjectType
   369             values["OBJECTTYPE"] = values.get("OBJECTTYPE", 7)
   372             values["OBJECTTYPE"] = values.get("OBJECTTYPE", 7)
   370             # Extract parameters defined
   373             # Extract parameters defined
   371             keys = Set(values.keys())
   374             keys = set(values.keys())
   372             keys.discard("subindexes")
   375             keys.discard("subindexes")
   373             # Extract possible parameters and parameters required
   376             # Extract possible parameters and parameters required
   374             possible = Set(ENTRY_TYPES[values["OBJECTTYPE"]]["require"] + 
   377             possible = set(ENTRY_TYPES[values["OBJECTTYPE"]]["require"] + 
   375                            ENTRY_TYPES[values["OBJECTTYPE"]]["optional"])
   378                            ENTRY_TYPES[values["OBJECTTYPE"]]["optional"])
   376             required = Set(ENTRY_TYPES[values["OBJECTTYPE"]]["require"])
   379             required = set(ENTRY_TYPES[values["OBJECTTYPE"]]["require"])
   377             # Verify that parameters defined contains all the parameters required
   380             # Verify that parameters defined contains all the parameters required
   378             if not keys.issuperset(required):
   381             if not keys.issuperset(required):
   379                 missing = required.difference(keys)._data.keys()
   382                 missing = required.difference(keys)._data.keys()
   380                 if len(missing) > 1:
   383                 if len(missing) > 1:
   381                     attributes = "Attributes %s are"%", ".join(["\"%s\""%attribute for attribute in missing])
   384                     attributes = "Attributes %s are"%", ".join(["\"%s\""%attribute for attribute in missing])