def run(self): """Run all processing modules and all signatures. @return: processing results. """ results = {} Processing() for module in Processing.__subclasses__(): result = self._run_processing(module) if result: results.update(result) Signature() sigs = [] for signature in Signature.__subclasses__(): match = self._run_signature(signature, results) if match: sigs.append(match) sigs.sort(key=lambda key: key["severity"]) results["signatures"] = sigs return results