#!/usr/bin/env python

import sys
import argparse
from image_slicer import split_image, save_tiles, get_prefix


def main():
	parser = argparse.ArgumentParser(prog='slice-image',
					 description='Slice an image into tiles.',
					 epilog='Happy slicing!',
					 add_help=False
		 )

	required = parser.add_argument_group('Required Arguments')
	required.add_argument('-i', '--input', help='input file name', required=True)
	required.add_argument('-t', '--tiles', type=int,
			    help='number of tiles to produce', required=True)

	optional = parser.add_argument_group('Optional Arguments')
	optional.add_argument('-d', '--dir', default='./',
			      help='output directory')
	optional.add_argument('-f', '--format', default='png',
			      help='output image format (e.g JPG, PNG, GIF)')
	#parser.add_argument('-e', '--exact', action='store_true',
	#		    help='Enlarge some tiles to produce the exact number')

	info = parser.add_argument_group('Info')
	info.add_argument('-h', '--help', action='help',
			  help='display this screen'),
	info.add_argument('-v', '--version', action='version',
			  version='%(prog)s 0.1')

	args = parser.parse_args()
	tiles = split_image(args.input, args.tiles)
	save_tiles(tiles, prefix=get_prefix(args.input), directory=args.dir,
		   format=args.format)

if __name__ == '__main__':
	main()

