def connection_test(self) -> bool: try: test_connection = self.create_connection() Logger.console_log(message="Connection test with " + self.database + " located at " + self.host + " was a success", status=Message.MESSAGE_TYPE.SUCCESS) return True except mariadb.Error as err: Logger.console_log(message="Unable to establish connection with database " + self.database + ". Error [" + str(err) + "] was returned", status=Message.MESSAGE_TYPE.FAIL) return False
def get_stock_price(symbol: str) -> float: """[summary] Args: symbol (str): [description] Returns: DataFrame: [description]""" try: price: float = get_live_price(symbol) return price except Exception as error: Logger.console_log( message= "Exception {} encountered when attempting to get price for symbol {}. Sleeping and trying again." .format(error, symbol), message_type=Message.MESSAGE_TYPE.MINOR_FAIL) sleep(120) return get_stock_price(symbol=symbol)
def get_crypto_price( coin_name: str, binance_account: Union[None, BinanceAccount] = None, coinbase_account: Union[None, CoinbaseAccount] = None) -> float: """[summary] Args: coin_name (str): [description] binance_account (Union[None, BinanceAccount], optional): [description]. Defaults to None. coinbase_account (Union[None, CoinbaseAccount], optional): [description]. Defaults to None. Returns: float: [description]""" try: return get_price(coin_name, "USD")[coin_name]["USD"] except Exception as error: Logger.console_log( message= f"Exception {error} found when attempting to get price from cryptocompare.", message_type=Message.MESSAGE_TYPE.MINOR_FAIL) if binance_account is not None: try: return float( binance_account.interface.get_ticker(symbol=coin_name + "USD")['lastPrice']) except Exception as error: Logger.console_log( message= f"Exception {error} found when attempting to get price from binance.", message_type=Message.MESSAGE_TYPE.MINOR_FAIL) if coinbase_account is not None: try: return float( coinbase_account.interface.get_buy_price( currency_pair=coin_name + "-USD")['amount']) except Exception as error: Logger.console_log( message= f"Exception {error} found when attempting to get price from coinbase.", message_type=Message.MESSAGE_TYPE.MINOR_FAIL) sleep(5 * 60) return get_crypto_price(coin_name=coin_name, binance_account=binance_account, coinbase_account=coinbase_account)