from .censys_credentials import CensysCredentialsError
from .censys_connector import CensysConnector
[docs]class CensysHostSearchError(Exception):
"""
Zgłoszenie wyjąktu gdy nie można pobrac danych z serwisu https://censys.io/.
"""
[docs] def __init__(self, message=None, errors=None):
super().__init__(message)
self.errors = errors
[docs]class CensysHostSearch:
"""Klasa zwraca dane z seriwsu https://censys.io/ dla widoków Django"""
[docs] def __init__(self, user_credentials):
self.user_credentials = user_credentials
[docs] def get_data(self, ip_address):
"""Zwraca dane w formie jsona dla widoku Django"""
try:
censys_credentials = self.user_credentials.censys
connector = CensysConnector(censys_credentials)
response = connector.search_by_ip(ip_address)
return response.to_json # TODO zmienić na serializatory
except CensysCredentialsError as ex:
raise CensysHostSearchError("Invalid settings for service https://censys.io/. " + str(ex))