def create_misuse(misuse_id: str, meta: Dict[str, Any] = None, project: Project=None, patterns: List[Pattern] = None): if not project: project = create_project("-project-") misuse = Misuse(project._base_path, project.id, misuse_id) misuse._Misuse__project = project misuse._YAML = {"location": {"file": "-dummy-/-file-", "method": "-method-()"}} misuse._PATTERNS = patterns if patterns else [] if meta: misuse._YAML.update(meta) return misuse
def misuses(self) -> List[Misuse]: if not self._MISUSES: misuse_ids = self._yaml.get("misuses", []) or [] if not misuse_ids: logging.getLogger("version").warning("!! %s has no misuses!", self) self._MISUSES = [Misuse(self._base_path, self.__project.id, misuse_id) for misuse_id in misuse_ids if Misuse.is_misuse(join(self._misuses_dir, misuse_id))] return self._MISUSES