#!/usr/bin/python import seach class QueryGenre(QueryBase): # Query compund a number of QueryRows into a SQL SELECT statement. # It also contains attributes for result data etc. def __init__(self): QueryGenreBase.__init__(self) self.result='Genre' self.genreType='Track' self.casesensitive=True self.sortOrder=None; self.resultField='id'; def setGenreType(self, type): #Type can be any of Track, Artist or Album if type in ['Track','Album','Artist']: self.genreType=result else: #___FIX: raise exception? pass def setResult(self, result): #Result can be either GenreType or Genre if result in ['Track','Album','Artist','Genre']: self.result=result else: #___FIX: raise exception? pass def setResultField(self, result): #Result can be either GenreType or Genre if result in ['id','name']: self.resultField=result else: #___FIX: raise exception? pass def setOrder(self, order): if order!='': self.sortOrder=order; def setCasesensitive(self, casesensitive): # Actually not used by MySQL. self.casesensitive=casesensitive def getTableAliasDef(self, table): return self.tablealiasdef[table][0] def getSelect(self): # Generates the select. return 'SELECT DISTINCT ' + self.tablealiasdef[self.resolvedResult][2] + \ ' FROM ' + joinstr + ' WHERE ' + wherestr + ';'