Source code for api_searcher.search_engines.user_credentials_updater

from .user_credentials import UserCredentials, UserCredentialsError


[docs]class UserCredentialsUpdaterError(Exception): """ Zgłasza wyjątek gdy nie można zaktualizować dane użytkownika do serwisów trzeich. """
[docs] def __init__(self, message=None, errors=None): super().__init__(message) self.errors = errors
[docs]class UserCredentialsUpdater: """Klasa umożlwiiajaca użytkownikowi dodanie wlasnych klucyz do serwisów trzecich, wymagających danych i kont do nich."""
[docs] def __init__(self, user_data): self.__user_data = user_data self.user_credentials = UserCredentials()
@property def user_data(self): return self.__user_data def __update_censys_credentials(self): """Metoda pomocnicza aktualizująca dane uwierzytelniające użytkownika do serwisu http://censys.io/ Aktualizuje obiekt przechowujący dane oraz plik konfiguracyjny.""" credentials_data = self.user_data["censys"] new_api_id = credentials_data.get("API_ID", "") new_secret = credentials_data.get("Secret", "") self.user_credentials.censys.update_api_id(new_api_id) self.user_credentials.censys.update_secret(new_secret) def __update_shodan_credentials(self): """Metoda pomocnicza aktualizująca dane uwierzytelniające użytkownika do serwisu https://shodan.io/ Aktualizuje obiekt przechowujący dane oraz plik konfiguracyjny.""" credentials_data = self.user_data["shodan"] new_shodan_user = credentials_data.get("user", "") new_shodan_api_key= credentials_data.get("api_key", "") self.user_credentials.shodan.update_user(new_shodan_user) self.user_credentials.shodan.update_api_key(new_shodan_api_key)
[docs] def update(self): """Metoda aktualizująca i zapisujaca do pliku dane uwierzytelniające użytkownika do serwisów trzeich, które udostępniaja swoje dane tylko po utworzeniu konta z uniklanym kluczem przypisanym użytkownikowi.""" try: self.__update_censys_credentials() self.__update_shodan_credentials() except Exception as ex: raise UserCredentialsUpdaterError(str(ex))