Ignore:
Timestamp:
24/01/16 18:33:53 (5 years ago)
Author:
mjuckes
Message:

Adding hdldemo

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CMIP6dreqbuild/trunk/src/framework/dreqPy/dreq.py

    r555 r558  
    224224         __doc__ = """Initialise from a dictionary.""" 
    225225         for a in self._a.keys(): 
     226           vv = False 
    226227           if a in idict: 
    227228             val = idict[a] 
     229             vv = True 
    228230           else: 
    229              val = self._d.defaults.get( a, self._d.glob ) 
    230            setattr( self, a, val ) 
     231             if type( self.__class__.__dict__[a] ) not in (type( ''), type( u'' )) and (not self.__class__.__dict__[a].required): 
     232               delattr( self, a ) 
     233             else: 
     234               val = self._d.defaults.get( a, self._d.glob ) 
     235               vv = True 
     236           if vv: 
     237             setattr( self, a, val ) 
    231238         self._contentInitialised = True 
    232239 
     
    258265         for a,tv,v in tvtl: 
    259266           if tv: 
     267             erase = False 
    260268             if v == None: 
    261269               pass 
     270               erase = True 
    262271             elif self._a[a].type == u'xs:float': 
    263272               if v == '': 
     
    270279                   raise 
    271280             elif self._a[a].type in [u'aa:st__floatList', u'aa:st__floatListMonInc']: 
    272                  v = [float(x) for x in string.split(v)] 
     281                 v = [float(x) for x in v.split()] 
    273282             elif self._a[a].type in [u'aa:st__integerList', u'aa:st__integerListMonInc']: 
    274283                 ##print a,self._a[a].type,str(v) 
    275                  v = [int(x) for x in string.split(v)] 
     284                 v = [int(x) for x in v.split()] 
    276285                 if self._a[a].type in [u'aa:st__integerListMonInc'] and self._strictRead: 
    277286                   ##print a,self._a[a].type,str(v) 
     
    300309             elif self._a[a].type not in [u'xs:string']: 
    301310               print ('ERROR: Type %s not recognised' % self._a[a].type ) 
    302              self.__dict__[a] = v 
     311 
     312             if erase: 
     313               ### need to overwrite attribute (which is inherited from parent class) before deleting it. 
     314               ### this may not be needed in python3 
     315               self.__dict__[a] = '__tmp__' 
     316               delattr( self, a ) 
     317             else: 
     318               self.__dict__[a] = v 
    303319           else: 
    304320             if a in ['uid',]: 
     
    563579      l, t, ty, cls, tn, desc, uid, rq = ll 
    564580      self.lastTitle = t 
     581      if rq in ['0', 'false']: 
     582        rq = False 
     583      else: 
     584        rq = True 
     585      ee['required'] = rq 
    565586 
    566587      returnClass = True 
     
    737758 
    738759  def _sectionSortHelper(self,title): 
    739     ab = string.split( string.split(title)[0], '.' ) 
     760    ##ab = string.split( string.split(title)[0], '.' ) 
     761    ab = title.split( '.' )[0].split() 
    740762    if len( ab ) == 2: 
    741763      a,b = ab 
Note: See TracChangeset for help on using the changeset viewer.