Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
for i, char in enumerate(plaintext):
c = ord(char) << (i + 1)
low_15 = c & 0x7fff
high_15 = c & 0x7fff << 15
high_15 = high_15 >> 15
c = low_15 | high_15
passwd_hash ^= c
passwd_hash ^= len(plaintext)
passwd_hash ^= 0xCE4B
return passwd_hash
def __init__(self, passwd = b""):
self._rec_data = pack('
19H (BIFF3-BIFF4) System window background colour for pattern background (used in records XF, and CF)
41H (BIFF5-BIFF8)
43H System face colour (dialogue background colour)
4DH System window text colour for chart border lines
4EH System window background colour for chart areas
4FH Automatic colour for chart border lines (seems to be always Black)
50H System ToolTip background colour (used in note objects)
51H System ToolTip text colour (used in note objects)
7FFFH System window text colour for fonts (used in records FONT, EFONT, and CF)
"""
_REC_ID = 0x0092
class BoundSheetRecord(BiffRecord):
"""
This record is located in the workbook globals area and represents
a sheet inside of the workbook. For each sheet a BOUNDSHEET record
is written. It stores the sheet name and a stream offset to the BOF
record within the workbook stream. The record is also known
as BUNDLESHEET.
Record BOUNDSHEET, BIFF5-BIFF8:
Offset Size Contents
0 4 Absolute stream position of the BOF record of the sheet represented by this record. This
field is never encrypted in protected files.
4 1 Visibility:
00H = Visible
01H = Hidden
02H = Strong hidden
5 1 Sheet type:
def __init__(self):
self._rec_data = pack('
14 2 Option flags:
Bit Mask Contents
0 0001H 1 = Recalculate always
1 0002H 1 = Calculate on open
3 0008H 1 = Part of a shared formula
16 4 Not used
20 var. Formula data (RPN token array)
"""
_REC_ID = 0x0006
def __init__(self, row, col, xf_index, rpn, calc_flags=0):
self._rec_data = pack('<3HQHL', row, col, xf_index, 0xFFFF000000000003, calc_flags & 3, 0) + rpn
class GutsRecord(BiffRecord):
"""
This record contains information about the layout of outline symbols.
Record GUTS, BIFF3-BIFF8:
Offset Size Contents
0 2 Width of the area to display row outlines (left of the sheet), in pixel
2 2 Height of the area to display column outlines (above the sheet), in pixel
4 2 Number of visible row outline levels (used row levels + 1; or 0, if not used)
6 2 Number of visible column outline levels (used column levels + 1; or 0, if not used)
"""
_REC_ID = 0x0080
def __init__(self, row_gut_width, col_gut_height, row_visible_levels, col_visible_levels):
This record represents an empty cell.
Record BLANK, BIFF5-BIFF8:
Offset Size Contents
0 2 Index to row
2 2 Index to first column (fc)
4 2 indexes to XF record
"""
_REC_ID = 0x0201
def __init__(self, row, col, xf_index):
self._rec_data = pack('<3H', row, col, xf_index)
class RKRecord(BiffRecord):
"""
This record represents a cell that contains an RK value (encoded integer or
floating-point value). If a floating-point value cannot be encoded to an RK value,
a NUMBER record will be written.
"""
_REC_ID = 0x027E
def __init__(self, row, col, xf_index, rk_encoded):
self._rec_data = pack('<3Hi', row, col, xf_index, rk_encoded)
class NumberRecord(BiffRecord):
"""
This record represents a cell that contains an IEEE-754 floating-point value.
"""
_REC_ID = 0x0203
This record stores if sheet grid lines will be printed.
Record PRINTGRIDLINES, BIFF2-BIFF8:
Offset Size Contents
0 2 0 = Do not print sheet grid lines;
1 = Print sheet grid lines
"""
_REC_ID = 0x02B
def __init__(self, print_grid):
self._rec_data = pack('
45 Time mm:ss
46 Time [h]:mm:ss
47 Time mm:ss.0
48 Scientific ##0.0E+0
49 Text @
"""
_REC_ID = 0x041E
def __init__(self, idx, fmtstr):
ufmtstr = upack2(fmtstr)
ufmtstr_len = len(ufmtstr)
self._rec_data = pack('
class Prot4RevRecord(BiffRecord):
_REC_ID = 0x01AF
def __init__(self):
self._rec_data = pack('
break
2 2 Index to first row of this page break
4 2 Index to last row of this page break
The column indexes in the lists must be ordered ascending.
If in BIFF8 a column contains several page breaks, they must be ordered
ascending by start row index.
"""
_REC_ID = 0x001A
def __init__(self, breaks_list):
self._rec_data = pack('
Record USESELFS, BIFF8:
Offset Size Contents
0 2 0 = Do not use natural language formulas
1 = Use natural language formulas
"""
_REC_ID = 0x0160
def __init__(self):
self._rec_data = pack('