def show_queues(args): if len(args.queues): qs = map(Queue, args.queues) else: qs = Queue.all() num_jobs = 0 termwidth, _ = gettermsize() chartwidth = min(20, termwidth - 20) max_count = 0 counts = dict() for q in qs: count = q.count counts[q] = count max_count = max(max_count, count) scale = get_scale(max_count) ratio = chartwidth * 1.0 / scale for q in qs: count = counts[q] if not args.raw: chart = green('|' + '█' * int(ratio * count)) line = '%-12s %s %d' % (q.name, chart, count) else: line = 'queue %s %d' % (q.name, count) print(line) num_jobs += count # Print summary when not in raw mode if not args.raw: print('%d queues, %d jobs total' % (len(qs), num_jobs))