def start(self):
        """ All program flow is handled here """

        # usage, init, checks
        Usage.banner()
        args = ArgsParser.parseArgs()
        self.opts = vars(args)
        Check.checkArgc()
        Check.checkArgs(['-n', '-m'])
        Check.checkActions(self.opts['action'])
        Check.checkReportFormat(self.opts['format'])

        # ini config
        Wrapper.msg("Reading configuration file " + "'" +
                self.opts['config'] + "'")
        self.ini = IniConfig(self.opts['config'])
        self.ini.readConfig()
        Check.checkIniFile(self.ini.config)

        # additional options from config file
        self.getOptions()

        ### nessus actions ###

        # nessus report
        if self.opts['action'] in ACTIONS:
            self.processReports(self.opts['action'])

        # send reports
        if self.opts['mail']:
            if self.opts['action'] in ACTIONS:
                self.sendReports(self.opts['action'])

        return
    def start(self):
        """ All program flow is handled here """

        # usage, init, checks
        Usage.banner()
        args = ArgsParser.parseArgs()
        self.opts = vars(args)
        Check.checkArgc()
        Check.checkArgs(['-n', '-m'])
        Check.checkActions(self.opts['action'])
        Check.checkReportFormat(self.opts['format'])

        # ini config
        Wrapper.msg("Reading configuration file " + "'" + self.opts['config'] +
                    "'")
        self.ini = IniConfig(self.opts['config'])
        self.ini.readConfig()
        Check.checkIniFile(self.ini.config)

        # additional options from config file
        self.getOptions()

        ### nessus actions ###

        # nessus report
        if self.opts['action'] in ACTIONS:
            self.processReports(self.opts['action'])

        # send reports
        if self.opts['mail']:
            if self.opts['action'] in ACTIONS:
                self.sendReports(self.opts['action'])

        return