Ejemplo n.º 1
0
 def fieldtotal(self,fieldname,fieldtype):
     '''
     given the input result field name and type, return the total
     '''
     fieldidx=None
     result=0
     try:
         fieldidx=self.__inputResultHeader.index(fieldname)
     except:
         print('field ',fieldname,' not found')
         raise
     for r in self.__inputResult:
         stringvalue=r[fieldidx]
         if fieldtype in ['int','unsigned int']:
             if not CommonUtil.is_intstr(stringvalue):
                 print('field ',fieldname,' is not integer type')
                 raise
             else:
                 result=int(result)+int(stringvalue)
                 continue
         elif fieldtype in ['float'] :
             if not CommonUtil.is_floatstr(stringvalue):
                 print('field ',fieldname,' is not float type')
                 raise
             else:
                 result=float(result)+float(stringvalue)
                 continue
         else:
             raise RunTimeError('cannot sum types other than int ,float')
     return result
Ejemplo n.º 2
0
 def fieldvalues(self,fieldname,fieldtype):
     '''
     given the input result field name and typem return the list of values
     '''
     fieldidx=None
     result=[]
     try:
         fieldidx=self.__inputResultHeader.index(fieldname)
     except:
         print('field ',fieldname,' not found')
         raise RuntimeError('field')
     for r in self.__inputResult:
         stringvalue=r[fieldidx]
         if fieldtype in ['int','unsigned int']:
             if not CommonUtil.is_intstr(stringvalue):
                 print('field ',fieldname,' is not integer type')
                 raise RuntimeError('field')
             else:
                 result.append(int(stringvalue))
                 continue
         elif fieldtype in ['float']:
             if not CommonUtil.is_floatstr(stringvalue):
                 print('field ',fieldname,' is not float type')
                 raise RuntimeError('field')
             else:
                 result.append(float(stringvalue))
                 contine
         elif  fieldtype in ['string','str']:
             result.append(stringvalue)
         else:
             raise RuntimeError('unsupported type '+fieldtype)
     return result
Ejemplo n.º 3
0
 def fieldtotal(self, fieldname, fieldtype):
     '''
     given the input result field name and type, return the total
     '''
     fieldidx = None
     result = 0
     try:
         fieldidx = self.__inputResultHeader.index(fieldname)
     except:
         print 'field ', fieldname, ' not found'
         raise
     for r in self.__inputResult:
         stringvalue = r[fieldidx]
         if fieldtype in ['int', 'unsigned int']:
             if not CommonUtil.is_intstr(stringvalue):
                 print 'field ', fieldname, ' is not integer type'
                 raise
             else:
                 result = int(result) + int(stringvalue)
                 continue
         elif fieldtype in ['float']:
             if not CommonUtil.is_floatstr(stringvalue):
                 print 'field ', fieldname, ' is not float type'
                 raise
             else:
                 result = float(result) + float(stringvalue)
                 continue
         else:
             raise 'cannot sum types other than int ,float'
     return result
Ejemplo n.º 4
0
 def fieldvalues(self, fieldname, fieldtype):
     '''
     given the input result field name and typem return the list of values
     '''
     fieldidx = None
     result = []
     try:
         fieldidx = self.__inputResultHeader.index(fieldname)
     except:
         print 'field ', fieldname, ' not found'
         raise
     for r in self.__inputResult:
         stringvalue = r[fieldidx]
         if fieldtype in ['int', 'unsigned int']:
             if not CommonUtil.is_intstr(stringvalue):
                 print 'field ', fieldname, ' is not integer type'
                 raise
             else:
                 result.append(int(stringvalue))
                 continue
         elif fieldtype in ['float']:
             if not CommonUtil.is_floatstr(stringvalue):
                 print 'field ', fieldname, ' is not float type'
                 raise
             else:
                 result.append(float(stringvalue))
                 contine
         elif fieldtype in ['string', 'str']:
             result.append(stringvalue)
         else:
             raise 'unsupported type ', fieldtype
     return result
Ejemplo n.º 5
0
 def runsWithresult(self):
     '''
     output: [run,run,...]
     '''
     result={}
     for f in self.__inputresultfiles:
         csvReader=csv.reader(open(f),delimiter=',')
         for row in csvReader:
             field0=str(row[0]).strip()
             if not CommonUtil.is_intstr(field0):
                 continue
             runnumber=int(field0)
             if runnumber not in result:
                 result[runnumber]=None
     return result.keys()
Ejemplo n.º 6
0
 def runsWithresult(self):
     '''
     output: [run,run,...]
     '''
     result = {}
     for f in self.__inputresultfiles:
         csvReader = csv.reader(open(f), delimiter=',')
         for row in csvReader:
             field0 = str(row[0]).strip()
             if not CommonUtil.is_intstr(field0):
                 continue
             runnumber = int(field0)
             if runnumber not in result:
                 result[runnumber] = None
     return result.keys()
Ejemplo n.º 7
0
def _getnorm(schema,norm):
    if isinstance(norm,int) or isinstance(norm,float) or CommonUtil.is_floatstr(norm) or CommonUtil.is_intstr(norm):
        return float(norm)
    if not isinstance(norm,str):
        raise ValueError('wrong parameter type')
    normdataid=dataDML.guessnormIdByName(schema,norm)
    normresult=dataDML.luminormById(schema,normdataid)
    return normresult[2]