Mercurial > hg > audiodb
diff bindings/python/pyadb.py @ 750:d93292ae7c1b
Fixed accumulation and distance options (strcmp==0) and added times. Added queryFromData
author | mas01mc |
---|---|
date | Wed, 24 Nov 2010 19:29:52 +0000 |
parents | dd4b9fec8d85 |
children | b9dbe4611dde |
line wrap: on
line diff
--- a/bindings/python/pyadb.py Wed Nov 24 13:50:05 2010 +0000 +++ b/bindings/python/pyadb.py Wed Nov 24 19:29:52 2010 +0000 @@ -156,6 +156,26 @@ elif featData: raise NotImplementedError("direct data query not yet implemented. Sorry.") return Pyadb.Result(result, self.configQuery) + + def query_data(self, featData=None, powerData=None, timesData=None, strictConfig=True): + """query the database using numpy arrays. required data: featData, optional data: [powerData, timesData]Query parameters as defined in self.configQuery. For details on this consult the doc string in the configCheck method.""" + if not self.configCheck(): + if strictConfig: + raise ValueError("configQuery dict contains unsupported terms and strict configure mode is on.\n\ +Only keys found in Pyadb.validConfigTerms may be defined") + else: + print "configQuery dict contains unsupported terms and strict configure mode is off.\n\ +Only keys found in Pyadb.validConfigTerms should be defined. Removing invalid terms and proceeding..." + self.configCheck(scrub=True) + cq = self.configQuery.copy() + if (featData==None): + raise Usage("query requires featData to be defined.") + if(powerData!=None): + cq['power']=powerData + if(timesData!=None): + cq['times']=timesData + result = _pyadb._pyadb_queryFromData(self._db, featData, **cq) + return Pyadb.Result(result, self.configQuery) def status(self): '''update attributes and return them as a dict'''