def varsToRead(table): toRead = {} var = table.getElementsByTagName("variable") for v in var: name = getText(v,"varName") col = getText(v,"tableColumn") toRead[name] = col return toRead
def __get_info_from_xml(self): program_xml = getXML(self.program_name) for table_node in program_xml.getElementsByTagName('table'): if xmlutils.getText(table_node, 'tableName') == self.table_name: self.table_xml = table_node self.epoch = float(xmlutils.getText(table_node, 'outputInterval')) self.group_name = createNetcdfs.groupName(self.epoch) self.var_ids = varNames(table_node, program_xml)
def varNames(table, progXml): names = dict() for var in table.getElementsByTagName('variable'): if xmlutils.getText(var, 'flag'):continue name = xmlutils.getText(var, 'varName') col = int(xmlutils.getText(var, 'tableColumn'))+1 #if re.search('batt', name, flags=re.IGNORECASE): # print getProgName(progXml) # name = name+'_'+getProgName(progXml) names[col] = name return names
def getObservations (obsXmlFile): obsXml = xml.dom.minidom.parse(obsXmlFile) ### get metadata from obsXml obsTypes = {} obsLimits = {} observations = obsXml.getElementsByTagName('observation') for obs in observations: obsName = getText(obs, 'obsName') varName = getText(obs, 'varName') minVal = getText(obs, 'minValue') maxVal = getText(obs, 'maxValue') obsTypes[varName] = obsName obsLimits[obsName] = (minVal, maxVal) return obsTypes, obsLimits
def getObservations(obsXmlFile): obsXml = xml.dom.minidom.parse(obsXmlFile) ### get metadata from obsXml obsTypes = {} obsLimits = {} observations = obsXml.getElementsByTagName('observation') for obs in observations: obsName = getText(obs, 'obsName') varName = getText(obs, 'varName') minVal = getText(obs, 'minValue') maxVal = getText(obs, 'maxValue') obsTypes[varName] = obsName obsLimits[obsName] = (minVal, maxVal) return obsTypes, obsLimits
def lookupInstrument(self, variable, insLib): baseName = _getBasename(variable) variables = insLib.getElementsByTagName('varName') for j in variables: name = j.childNodes[0].data if name == baseName: ins = _getInstrument(j) obs = getText(j.parentNode, 'obsName') return (ins, obs) return (None, None)
def addVariables (progXML, variables): ### get all variable names for each epoch in progxml tables = progXML.getElementsByTagName('table') for table in tables: interval = (getText(table, 'outputInterval')) if interval == 'None': interval = 1.0 else: interval = float(interval) vars = table.getElementsByTagName('variable') for var in vars: name = getText(var, 'varName') variables.addVar(interval, name) ### metadata: get units units = getText(var, 'varUnits') if units: variables.addUnits(name, units) origName = getText(var, 'origName') ### original name (ie not alias. so as to match up with other metadata) if origName: variables.addOrig(name, origName) return variables
def addVariables(progXML, variables): ### get all variable names for each epoch in progxml tables = progXML.getElementsByTagName('table') for table in tables: interval = (getText(table, 'outputInterval')) if interval == 'None': interval = 1.0 else: interval = float(interval) vars = table.getElementsByTagName('variable') for var in vars: name = getText(var, 'varName') variables.addVar(interval, name) ### metadata: get units units = getText(var, 'varUnits') if units: variables.addUnits(name, units) origName = getText(var, 'origName') ### original name (ie not alias. so as to match up with other metadata) if origName: variables.addOrig(name, origName) return variables
def __init_empty_buffer(self): self.data = dict() for var in self.table_xml.getElementsByTagName('variable'): if xmlutils.getText(var, 'flag'): continue col = int(xmlutils.getText(var, 'tableColumn')) + 1 self.data[col] = []
def getProgName(program): return xmlutils.getText(program, 'progName')