Example #1
0
    def run(self):
        argv = sys.argv[1:]
        (options, args) = self.parser.parse_args(argv)

        if args:
            # image filenames were provided as arguments
            for filename in args:
                try:
                    palette = extract_colors(
                        filename,
                        min_saturation=options.min_saturation,
                        min_prominence=options.min_prominence,
                        min_distance=options.min_distance,
                        max_colors=options.max_colors,
                        n_quantized=options.n_quantized)

                except Exception, e:  # TODO: it's too broad exception.
                    print >> sys.stderr, filename, e
                    continue

                print_colors(filename, palette)
                if options.save_palette:
                    save_palette_as_image(filename, palette)

            sys.exit(1)
Example #2
0
    def run(self):
        argv = sys.argv[1:]
        (options, args) = self.parser.parse_args(argv)

        if args:
            # image filenames were provided as arguments
            for filename in args:
                try:
                    palette = extract_colors(
                        filename,
                        min_saturation=options.min_saturation,
                        min_prominence=options.min_prominence,
                        min_distance=options.min_distance,
                        max_colors=options.max_colors,
                        n_quantized=options.n_quantized)

                except Exception, e:  # TODO: it's too broad exception.
                    print >> sys.stderr, filename, e
                    continue

                print_colors(filename, palette)
                if options.save_palette:
                    save_palette_as_image(filename, palette)

            sys.exit(1)
Example #3
0
def color_stream_st(istream=sys.stdin, save_palette=False, **kwargs):
    """
    Read filenames from the input stream and detect their palette.
    """
    for line in istream:
        filename = line.strip()
        try:
            palette = extract_colors(filename, **kwargs)

        except Exception, e:
            print >> sys.stderr, filename, e
            continue

        print_colors(filename, palette)
        if save_palette:
            save_palette_as_image(filename, palette)
Example #4
0
def color_stream_st(istream=sys.stdin, save_palette=False, **kwargs):
    """
    Read filenames from the input stream and detect their palette.
    """
    for line in istream:
        filename = line.strip()
        try:
            palette = extract_colors(filename, **kwargs)

        except Exception, e:
            print >> sys.stderr, filename, e
            continue

        print_colors(filename, palette)
        if save_palette:
            save_palette_as_image(filename, palette)
Example #5
0
def color_process(queue, lock):
    "Receive filenames and get the colors from their images."
    while True:
        block = queue.get()
        if block == config.SENTINEL:
            break

        for filename in block:
            try:
                palette = extract_colors(filename)
            except:  # TODO: it's too broad exception.
                continue
            lock.acquire()
            try:
                print_colors(filename, palette)
            finally:
                lock.release()
Example #6
0
def color_process(queue, lock):
    "Receive filenames and get the colors from their images."
    while True:
        block = queue.get()
        if block == config.SENTINEL:
            break

        for filename in block:
            try:
                palette = extract_colors(filename)
            except:  # TODO: it's too broad exception.
                continue
            lock.acquire()
            try:
                print_colors(filename, palette)
            finally:
                lock.release()
Example #7
0
    def run(self):
        argv = sys.argv[1:]
        (options, args) = self.parser.parse_args(argv)

        if args:
            # image filenames were provided as arguments
            for filename in args:
                try:
                    palette = extract_colors(
                        filename,
                        min_saturation=options.min_saturation,
                        min_prominence=options.min_prominence,
                        min_distance=options.min_distance,
                        max_colors=options.max_colors,
                        n_quantized=options.n_quantized,
                    )

                except Exception as e:  # TODO: it's too broad exception.
                    print >>sys.stderr, filename, e
                    continue

                print_colors(filename, palette)
                if options.save_palette:
                    save_palette_as_image(filename, palette)

            sys.exit(1)

        if options.n_processes > 1:
            # XXX add all the knobs we can tune
            color_stream_mt(n=options.n_processes)

        else:
            color_stream_st(
                min_saturation=options.min_saturation,
                min_prominence=options.min_prominence,
                min_distance=options.min_distance,
                max_colors=options.max_colors,
                n_quantized=options.n_quantized,
                save_palette=options.save_palette,
            )