123456789101112131415161718192021222324 |
- import logging
- log = logging.getLogger('mpdrandom')
- import random
- from mpd import MPDClient
- from config import get_conf
- def generate_by_artist(spec):
- '''choose HOWMANY random artists, and for each one choose a random song'''
- spec.setdefault('howmany', 1)
- log.info('generating')
- conf = get_conf()
- c = MPDClient()
- c.connect(conf['MPD_HOST'], conf['MPD_PORT'])
- artists = c.list('artist')
- log.debug("got %d artists" % len(artists))
- if not artists:
- raise ValueError("no artists in your mpd database")
- for _ in xrange(spec['howmany']):
- artist = random.choice(artists)
- yield random.choice(c.find('artist', artist))['file']
|