#!/usr/bin/env python2

'''FFTresize - Resize images using the FFT

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

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


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>>stderr, 'fftresize: error:', msg


if '__main__' in __name__:

    arguments = docopt(__doc__, version=_long_version)

    image = arguments['<image>']
    image = abspath(expanduser(image))
    if not exists(image):
        error('could not find file: ' + image)
        exit(EX_NOINPUT)

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

    x = fftresize.resize(image, factor)
    print x
