def top_genres(n): try: top = [t.genre for t in GenreStatistics.select(orderBy=DESC(GenreStatistics.q.play_count))[:n]] if len(top) < n: top = top + [genre for genre in Genre.select()[:n-len(top)] if genre not in top] return top except SQLObjectNotFound: return []
def genre_search(keylist): genre=[] for keyword in keylist: #tmp= Track.select(AND(Genre.q.name.contains(keyword),Genre.q.id==Track.q.genre)) tmp= Genre.select(Genre.q.name.contains(keyword)) genre.extend(tmp) genre=set(genre) return genre