Exemplo n.º 1
0
 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
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)