MICRO_SEC, MILLI_SEC, SECOND, MINUTE, HOUR, AUX_1, AUX_2, TERMINATOR, ) from .ami_bitstructs import EntryChunk, DateShort import struct DIVIDEND_PAY_DATE = "Dividend Pay Date" DELISTING_DATE = "Delisting Date" SwappedField = FormatField("<", "f") # Const(b"\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3F") from construct import CString ascii_str = CString("ascii") Master = Struct( "Header" / Bytes(8), "NumSymbols" / Int32ul, "Symbols" / GreedyRange( Struct( "Symbol" / Padded(492, CString("ascii")), "CONST" / Const( b"\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3F" ), "Rest" / Bytes(1172 - 5 - 16 - 490 + 3),
def setUp(self): self.ff = FormatField("formatfield", "<", "L")
HIGH, LOW, FUT, RESERVED, MICRO_SEC, MILLI_SEC, SECOND, MINUTE, HOUR, AUX_1, AUX_2, TERMINATOR, ) SwappedField = BitsSwapped(FormatField("<", "f")) DateShort=BitsSwapped(BitStruct( MINUTE / BitsInteger(length=6), # 38 HOUR / BitsInteger(length=5), # 43 DAY / RevBitsInteger(length=5), # Bit 48 Byte 6 MONTH / RevBitsInteger(length=4), # 52 YEAR / RevBitsInteger(length=12), )) Date=BitStruct( FUT / BitsInteger(length=1), # 1 RESERVED / BitsInteger(length=5), # 6 MICRO_SEC / BitsInteger(length=10), # Bit 16 byte 2 MILLI_SEC / BitsInteger(length=10), # 26 SECOND / BitsInteger(length=6), # Bit 32 Byte 4