def level(value): try: grey = int(value) if grey < 0: raise ArgumentError('{0} is negative.'.format(value)) elif grey > 255: raise ArgumentError('{0} is over 255.'.format(value)) else: return grey except: raise ArgumentError('{0} is not an integer.'.format(value)) if __name__ == '__main__': parser = build_weighted_parser('Dump graph to file') add_inital_artist(parser) parser.add_argument('-n', '--edges', default=2, type=positive_int, help='minimum number of edges') parser.add_argument('-m', '--tracks', default=5, type=positive_int, help='minimum number of tracks') parser.add_argument('-w', '--white', default=192, type=level,
from uykfe.support.db import open_db from uykfe.support.squeeze import SqueezeServer from uykfe.sequence.base import sequence from uykfe.args import build_weighted_parser, add_depth, set_logging from uykfe.sequence.distance.distance import DistanceControl, DistanceState if __name__ == '__main__': parser = build_weighted_parser('Add items to SqueezeCenter playlist as needed') add_depth(parser) parser.add_argument('-c', '--config', default='.uykferc', help='config file') args = parser.parse_args() set_logging(args.debug) squeeze = SqueezeServer(name=args.config) state = DistanceState(open_db()(), args.limit, args.unidirectional, squeeze) control = DistanceControl(state, args.localexp, args.depth, args.depthexp, args.unidirectional, args.neighbour) state.wait() for track in sequence(state, control): squeeze.playlist_add(track.url) state.wait()
def level(value): try: grey = int(value) if grey < 0: raise ArgumentError('{0} is negative.'.format(value)) elif grey > 255: raise ArgumentError('{0} is over 255.'.format(value)) else: return grey except: raise ArgumentError('{0} is not an integer.'.format(value)) if __name__ == '__main__': parser = build_weighted_parser('Dump graph to file') add_inital_artist(parser) parser.add_argument('-n', '--edges', default=2, type=positive_int, help='minimum number of edges') parser.add_argument('-m', '--tracks', default=5, type=positive_int, help='minimum number of tracks') parser.add_argument('-w', '--white', default=192, type=level, help='white level') parser.add_argument('-b', '--black', default=64, type=level, help='black level') parser.add_argument('-f', '--flatten', default=True, action='store_false', help='NO flatten edge colours?') parser.add_argument('-g', '--weights', default=False, action='store_true', help='flatten weights?') parser.add_argument('-z', '--zero', default=0, type=float, help='fractional lower limit for weights') args = parser.parse_args() set_logging(args.debug) session = open_db()() artist, track = None, find_track(session, args.artist, args.track) if track: artist = track.local_artist.lastfm_artist state = StaticState(session, args.limit)
from logging import getLogger from sys import getfilesystemencoding, stdout from itertools import islice from uykfe.support.db import open_db from uykfe.sequence.base import sequence from uykfe.args import build_weighted_parser, find_track, add_depth,\ add_inital_artist, set_logging from uykfe.sequence.distance.distance import DistanceControl, DistanceState LOG = getLogger(__name__) if __name__ == '__main__': parser = build_weighted_parser('Print a playlist to stdout') add_depth(parser) add_inital_artist(parser) parser.add_argument('count', metavar='N', type=int, help='the number of entries') args = parser.parse_args() set_logging(args.debug) LOG.info('File system encoding {0}'.format(getfilesystemencoding())) LOG.info('Stdout encoding {0}'.format(stdout.encoding)) session = open_db()() track = find_track(session, args.artist, args.track) state = DistanceState(session, args.limit, args.unidirectional) if track: state.record_track(track) control = DistanceControl(state, args.localexp, args.depth, args.depthexp, args.unidirectional, args.neighbour) stdout.buffer.write('#EXTM3U\n'.encode('utf8')) for track in islice(sequence(state, control), args.count):
from uykfe.support.db import open_db from uykfe.support.squeeze import SqueezeServer from uykfe.sequence.base import sequence from uykfe.args import build_weighted_parser, add_depth, set_logging from uykfe.sequence.distance.distance import DistanceControl, DistanceState if __name__ == '__main__': parser = build_weighted_parser( 'Add items to SqueezeCenter playlist as needed') add_depth(parser) parser.add_argument('-c', '--config', default='.uykferc', help='config file') args = parser.parse_args() set_logging(args.debug) squeeze = SqueezeServer(name=args.config) state = DistanceState(open_db()(), args.limit, args.unidirectional, squeeze) control = DistanceControl(state, args.localexp, args.depth, args.depthexp, args.unidirectional, args.neighbour) state.wait() for track in sequence(state, control): squeeze.playlist_add(track.url) state.wait()