mirror of
https://github.com/aljazceru/bitfinex-api-py.git
synced 2025-12-23 16:54:20 +01:00
Remove cid.py and integers.py from bfxapi.utils subpackage. Rename encoder.py file to JSONEncoder.py. Remove IntegerUnderflowError and IntegerOverflowflowError exceptions from bfxapi/exceptions.py.
This commit is contained in:
@@ -1,4 +0,0 @@
|
||||
import time
|
||||
|
||||
def generate_unique_cid(multiplier: int = 1000) -> int:
|
||||
return int(round(time.time() * multiplier))
|
||||
@@ -1,43 +0,0 @@
|
||||
from typing import cast, TypeVar, Union
|
||||
|
||||
from .. exceptions import IntegerUnderflowError, IntegerOverflowflowError
|
||||
|
||||
__all__ = [ "Int16", "Int32", "Int45", "Int64" ]
|
||||
|
||||
T = TypeVar("T")
|
||||
|
||||
class _Int(int):
|
||||
def __new__(cls: T, integer: int) -> T:
|
||||
assert hasattr(cls, "_BITS"), "_Int must be extended by a class that has a static member _BITS (indicating the number of bits with which to represent the integers)."
|
||||
|
||||
bits = cls._BITS - 1
|
||||
|
||||
min, max = -(2 ** bits), (2 ** bits) - 1
|
||||
|
||||
if integer < min:
|
||||
raise IntegerUnderflowError(f"Underflow. Cannot store <{integer}> in {cls._BITS} bits integer. The min and max bounds are {min} and {max}.")
|
||||
|
||||
if integer > max:
|
||||
raise IntegerOverflowflowError(f"Overflow. Cannot store <{integer}> in {cls._BITS} bits integer. The min and max bounds are {min} and {max}.")
|
||||
|
||||
return cast(T, super().__new__(int, integer))
|
||||
|
||||
class Int16(_Int):
|
||||
_BITS = 16
|
||||
|
||||
int16 = Union[Int16, int]
|
||||
|
||||
class Int32(_Int):
|
||||
_BITS = 32
|
||||
|
||||
int32 = Union[Int32, int]
|
||||
|
||||
class Int45(_Int):
|
||||
_BITS = 45
|
||||
|
||||
int45 = Union[Int45, int]
|
||||
|
||||
class Int64(_Int):
|
||||
_BITS = 64
|
||||
|
||||
int64 = Union[Int64, int]
|
||||
Reference in New Issue
Block a user