#!/usr/bin/env python

'''FFTresize - Resize images using the FFT

Usage:
    fftresize <factor> <file>...
    fftresize -h | --help
    fftresize -v | --version

Options:
    -h, --help      Print this help.
    -v, --version   Print version information.
'''


from __future__ import print_function
from docopt import docopt
try:
    from os import EX_NOINPUT, EX_USAGE
except ImportError:
    EX_NOINPUT, EX_USAGE = 1, 2
from os.path import abspath, exists, expanduser
from sys import exit, float_info, stderr

from fftresize import fftresize


_long_version = 'FFTresize ' + fftresize.__version__


def error(msg):
    print('fftresize: error:', msg, file=stderr)


if '__main__' in __name__:

    arguments = docopt(__doc__, version=_long_version)

    factor = float(arguments['<factor>'])
    if factor < 1.0 + float_info.epsilon:
        error('factor must be greater than 1.0')
        exit(EX_USAGE)

    files = arguments['<file>']
    files = filter(lambda f: abspath(expanduser(f)), files)
    for image in files:
        if not exists(image):
            error('could not find file: ' + image)
        x = fftresize.resize(image, factor)
        print(x)
