27 lines
731 B
Python
27 lines
731 B
Python
import logging
|
|
from typing import List
|
|
|
|
from analysis.analyzers.analyzer import ResultStore
|
|
from .. import Result
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
class Render:
|
|
result_types = []
|
|
|
|
def render(self, results: List[Result], name=None) -> [str]:
|
|
raise NotImplementedError()
|
|
|
|
def render_store(self, store: ResultStore, name=None) -> str:
|
|
logging.getLogger(__name__).warning("using default implementation!")
|
|
for category in store.get_categories():
|
|
self.render(store.get_category(category), name=name)
|
|
|
|
def filter(self, results: List[Result]):
|
|
if len(self.result_types) == 0:
|
|
return results
|
|
return filter(self.__filter__, results)
|
|
|
|
def __filter__(self, obj: Result):
|
|
return obj.analysis() in self.result_types
|