#!/usr/bin/env python

# Secret code. Welcome for those who find this code.

# argument parsing
import argparse

def getargparser():
    parser = argparse.ArgumentParser(description='Switch Keras backend')
    parser.add_argument('backend', help="Backend ('theano', 'tensorflow', or 'cntk')")
    return parser

parser = getargparser()
args = parser.parse_args()

import os
import json

homedir = os.path.expanduser('~')
kerasconfigfile = os.path.join(homedir, '.keras/keras.json')
keras_dir = os.path.join(homedir, '.keras')

if __name__ == '__main__':
    try:
        kerasconfig = json.load(open(kerasconfigfile, 'r'))
        kerasconfig['backend'] = args.backend
    except IOError:  # file not found
        kerasconfig = {'backend': args.backend, 'epsilon': 1e-07, 'floatx': 'float32'}

    if not os.path.exists(keras_dir):
        os.mkdir(keras_dir)

    json.dump(kerasconfig, open(kerasconfigfile, 'w'))
    print('Keras backend set to '+args.backend)