X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=portfolio.py;h=1fe56b5992222f8eafddae8479ae0fdbb9f1b987;hb=77f8a3789e293ece45946abd7ea3acffdf6add82;hp=cb14c5d6223d44751f6f99d1f886e9a8aa5de7c2;hpb=c11e42744cb0355ea4c5bd2c99c7fee5fc5d647c;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FCryptoportfolio%2FTrader.git diff --git a/portfolio.py b/portfolio.py index cb14c5d..1fe56b5 100644 --- a/portfolio.py +++ b/portfolio.py @@ -1,4 +1,4 @@ -import ccxt +from ccxt import ExchangeError import time from decimal import Decimal as D # Put your poloniex api key in market.py @@ -26,7 +26,7 @@ class Portfolio: try: r = http.request("GET", cls.URL) except Exception: - return + return None try: cls.data = json.loads(r.data, parse_int=D, @@ -48,7 +48,7 @@ class Portfolio: def clean_weights(i): def clean_weights_(h): - if type(h[1][i]) == str: + if isinstance(h[1][i], str): return [h[0], h[1][i]] else: return [h[0], int(h[1][i] * 10000)] @@ -125,7 +125,7 @@ class Amount: return Amount(self.currency, self.value - other.value) def __mul__(self, value): - if type(value) != int and type(value) != float and type(value) != D: + if not isinstance(value, (int, float, D)): raise TypeError("Amount may only be multiplied by numbers") return Amount(self.currency, self.value * value) @@ -133,7 +133,7 @@ class Amount: return self.__mul__(value) def __floordiv__(self, value): - if type(value) != int and type(value) != float and type(value) != D: + if not isinstance(value, (int, float, D)): raise TypeError("Amount may only be multiplied by integers") return Amount(self.currency, self.value / value) @@ -304,11 +304,11 @@ class Trade: try: cls.ticker_cache[(c1, c2, market.__class__)] = market.fetch_ticker("{}/{}".format(c1, c2)) augment_ticker(cls.ticker_cache[(c1, c2, market.__class__)]) - except ccxt.ExchangeError: + except ExchangeError: try: cls.ticker_cache[(c2, c1, market.__class__)] = market.fetch_ticker("{}/{}".format(c2, c1)) augment_ticker(cls.ticker_cache[(c2, c1, market.__class__)]) - except ccxt.ExchangeError: + except ExchangeError: cls.ticker_cache[(c1, c2, market.__class__)] = None return cls.get_ticker(c1, c2, market) @@ -411,7 +411,7 @@ class Trade: @classmethod def compute_value(cls, ticker, action, compute_value="default"): - if type(compute_value) == str: + if isinstance(compute_value, str): compute_value = Computation.computations[compute_value] return compute_value(ticker, action)