Example #1
0
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,
Example #2
0
File: play.py Project: Robbt/uykfe
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()
Example #3
0
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)
Example #4
0
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):
Example #5
0
File: play.py Project: Robbt/uykfe
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()