diff options
Diffstat (limited to 'tools/check.py')
-rw-r--r-- | tools/check.py | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/tools/check.py b/tools/check.py deleted file mode 100644 index efa2449..0000000 --- a/tools/check.py +++ /dev/null @@ -1,91 +0,0 @@ -import ConfigParser, os, getopt, sys, config - -ini = ConfigParser.ConfigParser() - -# Parse parameters -def get_opts(argv): - try: - opts, args = getopt.getopt(argv,"ha:c:d:l",["conf=","action=","device=","list-devices"]) - except getopt.GetoptError: - usage() - sys.exit(2) - for opt, arg in opts: - if opt == '-h': - return usage() - sys.exit() - elif opt in ("-l", "--list-devices"): - print "You have configured these devices: " + list_devices() - sys.exit() - elif opt in ("-a", "--action"): - config.action = arg - elif opt in ("-c", "--conf"): - config.configfile = arg - elif opt in ("-d", "--device"): - config.device = arg - -# Check parameters for errors -def check_opts(): - get_opts(sys.argv[1:]) - if not config.action: - print "Error: No action has been specified. Use -a." - return usage() - sys.exit(2) - if not config.action == "pull" or config.action == "push": - print "Error: Action \"" + config.action + "\" is invalid." - return usage() - sys.exit(2) - if not config.device: - print "Error: No device has been specified. Use -d." - return usage() - sys.exit(2) - if config.device: - load_config(config.configfile) - if not ini.has_section(config.device): - print "Error: Device \"" + config.device + "\" not configured. Add it to\"" + config.configfile + "." - sys.exit(2) - -# Load provided config file or use default -def load_config(configfile): - if not configfile: - config.configfile = "/etc/sync-rpi.conf" - try: - ini.read([config.configfile]) - except: - sys.exit(2) - -# Check if configuration file is sane -def check_config(configfile): - get_opts(sys.argv[1:]) - load_config(config.configfile) - error = 0 - #print config.configfile - #print ini.items('config') - #print ini.items('alcor-01') - #print config.options_config - #print config.options_device - for option in config.options_config: - if not ini.has_option('config', option): - print "Error: Option \"" + option + "\" not set in [config]." - error = 1 - for section in ini.sections(): - for option in config.options_device: - if section != 'config' and not ini.has_option(section, option): - print "Error: Option " + option + " not set in [" + section + "]." - error = 1 - - if error == 1: - sys.exit(2) - -# List all devices defined in config.configfile -def list_devices(): - load_config(config.configfile) - return " ".join(ini.sections()[1:]) - -# Prin usage -def usage(): - print """Usage: sync-rpi-config -a ACTION -d DEVICE [ -c [FILE] ] [ -l ] - Options - -a, --action ACTION can be either pull or push. You are pushing config from you workstation to device or pulling it back. - -d, --device DEVICE is set in configuration file. It is the machine you wish to push config to or pull from. - -c, --conf Path to configuration file. - -l, --list-devices List all devices defined in current configuration file.""" |