required_items = ['host', 'username', 'password'] options_cmdline = vars(options).copy() del options_cmdline['config'] del options_cmdline['overwrite'] configFile = ConfigParser() configFile.read(options.config) api = PfSenseAPI() for section in configFile.sections(): logger.info("Working on %s" % section) parsed_options = parser.parse_individual_options(configFile.items(section), options_cmdline, overwrite = options.overwrite, bool_keys = ['ssl_verification']) wrong_options_used = False missed_items = parser.check_required_options(parsed_options, required_items) for item in missed_items: logger.error('%s is reqired for entry %s' % ( item, section)) wrong_options_used = True if not parsed_options['area'] in validAreas: logger.error('%s is not a valid area for backup. Options are: %s' % ( parsed_options['area'], validAreasList )) wrong_options_used = True if parsed_options['area']!= 'all' and (options['noRRD '] or options['noPackages']): logger.error('--no-rrd and --no-packages only make sense when combined with --area=all') wrong_options_used = True if wrong_options_used: continue