#!/usr/bin/env python
-"""Go image recognition"""
+"""Go image recognition."""
import sys
import os
import manual
import intrsc
import gridf
+import output
-def main():
- """Main function of the program."""
-
+def argument_parser():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('files', metavar='file', nargs='+',
help="image to analyse")
help="save images instead of displaying them")
parser.add_argument('-c', '--cache', dest='l_cache', action='store_true',
help="use cached lines")
+ parser.add_argument('-S', '--sgf', dest='sgf_output', action='store_true',
+ help="output in SGF")
parser.add_argument('-v', '--verbose', dest='verbose', action='store_true',
help="report progress")
+ return parser
+
+
+def main():
+ """Main function of the program."""
+
+ parser = argument_parser()
args = parser.parse_args()
show_all = args.show_all
board = intrsc.board(image, lines, show_all, do_something)
- #simple ASCII output:
- for line in board:
- print ' '.join(line)
+ if len(args.files) == 1:
+
+ if args.sgf_output:
+ print board.asSGFsetPos()
+ else:
+ print board
- if len(args.files) > 1:
+ else:
+ game = output.Game(19, board) #TODO size parameter
for f in args.files[1:]:
try:
image = Image.open(f)
except IOError, msg:
print >> sys.stderr, msg
continue
+ if verbose:
+ print >> sys.stderr, "Opening", f
if image.mode == 'P':
image = image.convert('RGB')
board = intrsc.board(image, lines, show_all, do_something)
- for line in board:
- print ' '.join(line)
+ if args.sgf_output:
+ game.addMove(board)
+ else:
+ print board
+
+ if args.sgf_output:
+ print game.asSGF()
return 0
if __name__ == '__main__':
try:
sys.exit(main())
- except KeyboardInterrupt:
- print "Interrupted."
- sys.exit()
+ except KeyboardInterrupt: #TODO does this work?
+ print >> sys.stderr, "Interrupted."
+ sys.exit(1)