#!/usr/bin/python

import os
import sys
import argparse
import json
import socket


parser = argparse.ArgumentParser(description="Parse Partner DB-config.")
parser.add_argument("--show-master", help="show current master", action="store_true")
parser.add_argument("--show-my-role", help="show role for current host", action="store_true")
parser.add_argument("--instance", help="get information about specific instance")
parser.add_argument("--config", help="get from specific config")
args = parser.parse_args()


if args.config and args.instance:
    if os.path.exists(args.config):
        with open(args.config, 'r') as c:
            db_config=json.load(c)
    else:
        print "Error: can't read config file"
        sys.exit(1)

    if args.instance not in db_config.keys():
        print "Wrong instance"
        sys.exit(1)
    
    if args.show_master:
        print db_config[args.instance]['master']['host']
        sys.exit(0)
    elif args.show_my_role:
        my_fqdn = socket.gethostbyaddr(socket.gethostname())[0]
        if my_fqdn == db_config[args.instance]['master']['host']:
            print 'master'
            sys.exit(0)
        elif 'slave' in db_config[args.instance].keys():
            for i in db_config[args.instance]['slave'].keys():
                if my_fqdn == db_config[args.instance]['slave'][i]['host']:
                    print 'slave:', i
                    sys.exit(0)
            print 'none'
            sys.exit(0)
        else:
            print 'none'
            sys.exit(0)
    else:
        sys.exit(1)
    
    # print info for all instance
    #print 'Not implemented yet'
else:
    sys.exit(1)



sys.exit(1)



