This commit is contained in:
2026-07-28 06:46:59 +02:00
parent ab4826dcca
commit 0d5a8c2f6e
2 changed files with 22 additions and 18 deletions
+16 -12
View File
@@ -1,11 +1,12 @@
import struct
from decimal import Decimal
def pwp_number(fmt):
def pwp_number(fmt, value_type):
size = struct.calcsize(fmt)
def decorator(cls):
def __init__(self, value):
self.value = value
self.value = value_type(value)
def to_com(self):
return struct.pack(fmt, self.value)
@@ -24,34 +25,37 @@ def pwp_number(fmt):
return decorator
# Unsigned integers
@pwp_number("<B")
@pwp_number("<B", int)
class u8: pass
@pwp_number("<H")
@pwp_number("<H", int)
class u16: pass
@pwp_number("<I")
@pwp_number("<I", int)
class u32: pass
@pwp_number("<Q")
@pwp_number("<Q", int)
class u64: pass
# Signed integers
@pwp_number("<b")
@pwp_number("<b", int)
class i8: pass
@pwp_number("<h")
@pwp_number("<h", int)
class i16: pass
@pwp_number("<i")
@pwp_number("<i", int)
class i32: pass
@pwp_number("<q")
@pwp_number("<q", int)
class i64: pass
# Floating point
@pwp_number("<f")
@pwp_number("<f", float)
class f32: pass
@pwp_number("<d")
@pwp_number("<d", float)
class f64: pass
@pwp_number("<BiI", Decimal)
class decimal: pass
+5 -5
View File
@@ -68,9 +68,9 @@ class Candle:
close_time: u64
coin: str
interval: str
open: f64
high: f64
low: f64
close: f64
volume: f64
open: decimal
high: decimal
low: decimal
close: decimal
volume: decimal
num_trades: u64