#!/usr/bin/python
import sys
import os
from net6mon.daemon import Daemon, xmlRpcDaemon


DEFAULT_CONFIG="/etc/netmon.conf"
def usage(myname):
    import net6mon.config

    print """
        
 * Usage:
    
    %s [config_file]

        if no config file is specified, default is %s

 * Config file format:
    """%(myname, DEFAULT_CONFIG)
    print "    +", "--------netmon.conf-----------------".ljust(54).replace(" ", "-"), "+"
    print """    | [main]""".ljust(60), "|"
    for i in net6mon.config._daemon_valid_keys:
        print ("    | %s= <value> "%(i.ljust(20))).ljust(60), "|"

    print """    |""".ljust(60),"|"
    print "    | [<instance_name>]".ljust(60), "|"
    print "    |".ljust(60), "|"
    for i in net6mon.config._plugin_valid_keys:
        print ("    | %s = <value>"%(i.ljust(20))).ljust(60), "|"
    print """    |                                                        |
    | [<instance_name>:config]                               |
    |                                                        |
    | foo = <value>                                          |
    | bar = <value>                                          |
    +--------------------------------------------------------+
 * About:

    by fv,md,pl,rf,yp
    mail: net6mon@kh3.org

    """



if __name__ == "__main__": 
    
    conf = DEFAULT_CONFIG
    if len(sys.argv) <= 1 and not os.access(DEFAULT_CONFIG, os.R_OK):
        raise "Cannot acces default configuration file %s"%conf
    elif sys.argv[1] in [ "--help", "-h", "--h", "-help" ]:
        usage(sys.argv[0])
        sys.exit(1)
    elif os.access(sys.argv[1], os.R_OK):
        conf = sys.argv[1]
    else:
        raise "Cannot acces configuration file %s"%sys.argv[1]
    
    a = xmlRpcDaemon(conf)
    a.run()
    a.launch_server()
