Decimal
This commit is contained in:
+17
-13
@@ -1,11 +1,12 @@
|
|||||||
import struct
|
import struct
|
||||||
|
from decimal import Decimal
|
||||||
|
|
||||||
def pwp_number(fmt):
|
def pwp_number(fmt, value_type):
|
||||||
size = struct.calcsize(fmt)
|
size = struct.calcsize(fmt)
|
||||||
|
|
||||||
def decorator(cls):
|
def decorator(cls):
|
||||||
def __init__(self, value):
|
def __init__(self, value):
|
||||||
self.value = value
|
self.value = value_type(value)
|
||||||
|
|
||||||
def to_com(self):
|
def to_com(self):
|
||||||
return struct.pack(fmt, self.value)
|
return struct.pack(fmt, self.value)
|
||||||
@@ -24,34 +25,37 @@ def pwp_number(fmt):
|
|||||||
return decorator
|
return decorator
|
||||||
|
|
||||||
# Unsigned integers
|
# Unsigned integers
|
||||||
@pwp_number("<B")
|
@pwp_number("<B", int)
|
||||||
class u8: pass
|
class u8: pass
|
||||||
|
|
||||||
@pwp_number("<H")
|
@pwp_number("<H", int)
|
||||||
class u16: pass
|
class u16: pass
|
||||||
|
|
||||||
@pwp_number("<I")
|
@pwp_number("<I", int)
|
||||||
class u32: pass
|
class u32: pass
|
||||||
|
|
||||||
@pwp_number("<Q")
|
@pwp_number("<Q", int)
|
||||||
class u64: pass
|
class u64: pass
|
||||||
|
|
||||||
# Signed integers
|
# Signed integers
|
||||||
@pwp_number("<b")
|
@pwp_number("<b", int)
|
||||||
class i8: pass
|
class i8: pass
|
||||||
|
|
||||||
@pwp_number("<h")
|
@pwp_number("<h", int)
|
||||||
class i16: pass
|
class i16: pass
|
||||||
|
|
||||||
@pwp_number("<i")
|
@pwp_number("<i", int)
|
||||||
class i32: pass
|
class i32: pass
|
||||||
|
|
||||||
@pwp_number("<q")
|
@pwp_number("<q", int)
|
||||||
class i64: pass
|
class i64: pass
|
||||||
|
|
||||||
# Floating point
|
# Floating point
|
||||||
@pwp_number("<f")
|
@pwp_number("<f", float)
|
||||||
class f32: pass
|
class f32: pass
|
||||||
|
|
||||||
@pwp_number("<d")
|
@pwp_number("<d", float)
|
||||||
class f64: pass
|
class f64: pass
|
||||||
|
|
||||||
|
@pwp_number("<BiI", Decimal)
|
||||||
|
class decimal: pass
|
||||||
|
|||||||
+5
-5
@@ -68,9 +68,9 @@ class Candle:
|
|||||||
close_time: u64
|
close_time: u64
|
||||||
coin: str
|
coin: str
|
||||||
interval: str
|
interval: str
|
||||||
open: f64
|
open: decimal
|
||||||
high: f64
|
high: decimal
|
||||||
low: f64
|
low: decimal
|
||||||
close: f64
|
close: decimal
|
||||||
volume: f64
|
volume: decimal
|
||||||
num_trades: u64
|
num_trades: u64
|
||||||
|
|||||||
Reference in New Issue
Block a user