#!/usr/bin/env python

import sys
import os.path
import json

def convert_wall(x, y):
    if x % 2:
        return (x/2, y/2, 'h')
    else:
        return (x/2, y/2, 'v')

with open(sys.argv[1]) as f:
    p = f.read()
d = {'robot': (1, 1, 'E', 0)}
exec p in d
result = {
    "width": d['avenues'],
    "height": d['streets'],
    "walls": [convert_wall(*w) for w in d['walls']],
    "robots": [{
        "name": "robot", 
        "x": d['robot'][0]-1,
        "y": d['robot'][1]-1,
        "dir": "ENWS".index(d['robot'][2]),
        "stones": d['robot'][3]
    }],
    "stones": [((k[0]-1, k[1]-1), v) for k, v in d['beepers'].iteritems()],
}

target = os.path.join(sys.argv[2], os.path.basename(sys.argv[1]))
print target
with open(target, "w") as f:
    json.dump(result, f)

