Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
class OEPlaceholderAtom(pstruct.type, Record):
recordtype = 3011
_fields_ = [
(uint4, 'placementId'),
(ubyte1, 'placeholderId'),
(ubyte1, 'size')
]
class ExObjRefAtom(pstruct.type, Record):
recordtype = 3009
_fields_ = [
(uint4, 'exObjId')
]
class List(RecordContainer):
recordtype = 1016
class Slide(RecordContainer):
recordtype = 1006
class SSlideLayout(pstruct.type, Record):
recordtype = 1015
_fields_ = [
(sint4, 'geom'),
(dyn.array(ubyte1, 8), 'placeholderId'),
]
class SlideAtom(pstruct.type, Record):
recordtype = 1007
_fields_ = [
(SSlideLayout, 'layout'),
_fields_ = [
(uint4, 'placementId'),
(ubyte1, 'placeholderId'),
(ubyte1, 'size')
]
class ExObjRefAtom(pstruct.type, Record):
recordtype = 3009
_fields_ = [
(uint4, 'exObjId')
]
class List(RecordContainer):
recordtype = 1016
class Slide(RecordContainer):
recordtype = 1006
class SSlideLayout(pstruct.type, Record):
recordtype = 1015
_fields_ = [
(sint4, 'geom'),
(dyn.array(ubyte1, 8), 'placeholderId'),
]
class SlideAtom(pstruct.type, Record):
recordtype = 1007
_fields_ = [
(SSlideLayout, 'layout'),
(sint4, 'masterId'),
(sint4, 'notesId'),
(uint2, 'Flags')
l = self.parent['header']['recLength']
if self.currentsize < int(l):
return False
return True
class CString(ptype.type, Record):
recordtype = 4026
class BinaryTagData(RecordContainer):
recordtype = 5003
class ProgBinaryTag(RecordContainer):
recordtype = 5002
class ProgTags(RecordContainer):
recordtype = 5000
class PST_Notes(RecordContainer):
recordtype = 1008
class PST_PPDrawing(RecordContainer):
recordtype = 1036
class PST_DrawingContainer(RecordContainer):
recordtype = 61442
class PST_GroupShapeContainer(RecordContainer):
recordtype = 61443
class PST_ShapeContainer(RecordContainer):
recordtype = 61444
class PST_ShapeClientContainer(RecordContainer):
recordtype = 61457
recordtype = 1036
class PST_DrawingContainer(RecordContainer):
recordtype = 61442
class PST_GroupShapeContainer(RecordContainer):
recordtype = 61443
class PST_ShapeContainer(RecordContainer):
recordtype = 61444
class PST_ShapeClientContainer(RecordContainer):
recordtype = 61457
class Handout(RecordContainer):
recordtype = 4041
recordtype = 0x0fc9
### office art
class msofbtExtTimeNodeContainer(RecordContainer):
recordtype = 0xf144
recordtype = 61764
class msofbtTimeConditionContainer(RecordContainer):
recordtype = 0xf125
recordtype = 61733
class msofbtTimeColorBehaviorContainer(RecordContainer):
recordtype = 0xf12c
recordtype = 61740
class msofbtTimeCondition(pstruct.type, Record):
recordtype = 0xf128
recordtype = 61736
class __triggerType(pint.enum, pint.uint32_t):
_fields_ = [
('totNone', 0),
recordtype = 0x2b08
recordtype = 11016
class PSR_BuildList(RecordContainer):
recordtype = 0x2b02
recordtype = 11010
class msofbtTimeSetBehaviorContainer(RecordContainer):
recordtype = 0xf131
recordtype = 61745
class msofbtTimePropertyList(RecordContainer):
recordtype = 0xf13d
recordtype = 61757
class msofbtTimeSetBehaviorContainer(RecordContainer):
recordtype = 0xf131
recordtype = 61745
class msofbtTimeEffectBehaviorContainer(RecordContainer):
recordtype = 0xf12d
recordtype = 61741
class msofbtTimeBehaviorContainer(RecordContainer):
recordtype = 0xf12a
recordtype = 61738
class msofbtClientVisualElement(RecordContainer):
recordtype = 0xf13c
recordtype = 61756
class msofbtTimeEffectBehavior(pstruct.type, Record):
_fields_ = [(uint4, 'dwHighDateTime'),(uint4, 'dwLowDateTime')]
class msofbtTimeNode(pstruct.type, Record):
recordtype = 0xf127
recordtype = 61735
_fields_ = [
(pint.uint32_t, 'masterID'),
(pint.uint32_t, 'restart'),
(pint.uint32_t, 'type'),
(pint.uint32_t, 'fill'),
(pint.uint32_t, 'syncBehavior'),
(pint.uint8_t, 'fSyncMaster'),
(pint.uint32_t, 'propertiesSet'),
]
class PSR_ParaBuild(RecordContainer):
recordtype = 0x2b08
recordtype = 11016
class PSR_BuildList(RecordContainer):
recordtype = 0x2b02
recordtype = 11010
class msofbtTimeSetBehaviorContainer(RecordContainer):
recordtype = 0xf131
recordtype = 61745
class msofbtTimePropertyList(RecordContainer):
recordtype = 0xf13d
recordtype = 61757
class msofbtTimeSetBehaviorContainer(RecordContainer):
class CString(ptype.type, Record):
recordtype = 4026
class BinaryTagData(RecordContainer):
recordtype = 5003
class ProgBinaryTag(RecordContainer):
recordtype = 5002
class ProgTags(RecordContainer):
recordtype = 5000
class PST_Notes(RecordContainer):
recordtype = 1008
class PST_PPDrawing(RecordContainer):
recordtype = 1036
class PST_DrawingContainer(RecordContainer):
recordtype = 61442
class PST_GroupShapeContainer(RecordContainer):
recordtype = 61443
class PST_ShapeContainer(RecordContainer):
recordtype = 61444
class PST_ShapeClientContainer(RecordContainer):
recordtype = 61457
class Handout(RecordContainer):
recordtype = 4041
recordtype = 0x0fc9
### office art
class msofbtExtTimeNodeContainer(RecordContainer):
# yea, a file really is just a gigantic list of records...
class File(parray.infinite, searchingcontainer):
_object_ = RecordGeneral
def __repr__(self):
if self.initialized:
records = []
for v in self.walk():
n = '%s[%x]'%(v.__class__.__name__,v.recordtype)
records.append(n)
return '%s records=%d [%s]'%(self.name(), len(self), ','.join(records))
return super(File, self).__repr__()
### list of all records
## PowerPoint stream
class Document(RecordContainer):
recordtype = 1000
class OEPlaceholderAtom(pstruct.type, Record):
recordtype = 3011
_fields_ = [
(uint4, 'placementId'),
(ubyte1, 'placeholderId'),
(ubyte1, 'size')
]
class ExObjRefAtom(pstruct.type, Record):
recordtype = 3009
_fields_ = [
(uint4, 'exObjId')
]
class ProgBinaryTag(RecordContainer):
recordtype = 5002
class ProgTags(RecordContainer):
recordtype = 5000
class PST_Notes(RecordContainer):
recordtype = 1008
class PST_PPDrawing(RecordContainer):
recordtype = 1036
class PST_DrawingContainer(RecordContainer):
recordtype = 61442
class PST_GroupShapeContainer(RecordContainer):
recordtype = 61443
class PST_ShapeContainer(RecordContainer):
recordtype = 61444
class PST_ShapeClientContainer(RecordContainer):
recordtype = 61457
class Handout(RecordContainer):
recordtype = 4041
recordtype = 0x0fc9
### office art
class msofbtExtTimeNodeContainer(RecordContainer):
recordtype = 0xf144
recordtype = 61764
class msofbtTimeConditionContainer(RecordContainer):
recordtype = 0xf125
recordtype = 61733
class msofbtTimeColorBehaviorContainer(RecordContainer):
def __repr__(self):
if self.initialized:
records = []
for v in self.walk():
n = '%s[%x]'%(v.__class__.__name__,v.recordtype)
records.append(n)
header = self.parent['header']
return '%s header={ver=%d,type=%x,length=%d} records=%d [%s]'%(self.name(), int(header['recVer/recInstance']), int(header['recType']), int(header['recLength']), len(self), ','.join(records))
return super(RecordContainer, self).__repr__()