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