Changeset 38


Ignore:
Timestamp:
28/01/13 08:04:44 (7 years ago)
Author:
mjuckes
Message:

add constant constraint

Location:
FCC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • FCC/qc_utils.py

    r28 r38  
    650650         gid = None 
    651651         cid = bits[0] 
    652        assert cid in ['identity','onlyOnce'], 'constraint id %s not recognised' % cid 
     652       assert cid in ['identity','onlyOnce','constant'], 'constraint id %s not recognised' % cid 
    653653 
    654654       if cid == 'identity': 
     
    657657         ## print 'Set Constraint only once, %s ' % bits[1] 
    658658         cstr = Constraint__OnlyOnce( bits[1] ) 
     659       elif cid == 'constant': 
     660         ## print 'Set Constraint only once, %s ' % bits[1] 
     661         cstr = Constraint__Constant( bits[1] ) 
    659662          
    660663       if gid == None: 
     
    927930        return ('PASS',None) 
    928931 
     932#### check whether a NS element is constant 
     933class Constraint__Constant: 
     934 
     935  def __init__(self, ref1, required=False): 
     936     self.nn = 0 
     937     self.Ref1 = parse_ref(ref1) 
     938     self.msg = '%s occurs only once' % self.Ref1[1] 
     939     self.value = None 
     940     self.required = required 
     941 
     942  def __reset__(self): 
     943    self.nn = 0 
     944    self.value = None 
     945 
     946  def check(self,fns): 
     947      if fns.has_key( self.Ref1[0] ): 
     948        if self.value == None: 
     949          self.value = fns[self.Ref1[0]] 
     950          return ('PASS', 'first element') 
     951        else: 
     952          return ('ANS', self.value == fns[self.Ref1[0]] ) 
     953      else: 
     954        if self.required: 
     955          return ('FAIL', 'missing NS element %s' % self.Ref1[0] ) 
     956        else: 
     957          return ('PASS',None) 
     958 
    929959def ref_to_key(ref): 
    930960     bits = string.split(ref,'/') 
  • FCC/run_qc.py

    r29 r38  
    114114dskeys = handler.datasets.keys() 
    115115dskeys.sort() 
    116 gkeys = handler.groups.keys() 
    117 gkeys.sort() 
     116##gkeys = handler.groups.keys() 
     117##gkeys.sort() 
    118118 
    119119nofail = True 
     
    122122ifcg = qccp._parse_l1.gc.get( 'inFileCheckGroup', None ) 
    123123##print dskeys 
     124log.info( 'Analysing by dataset classes: %s' % str( dskeys ) ) 
    124125for dsclass in dskeys: 
    125126  ifc = inFileChecks and ifcg == dsclass 
Note: See TracChangeset for help on using the changeset viewer.