Skip to content

Instantly share code, notes, and snippets.

@Fluxflashor
Created June 18, 2012 02:32
Show Gist options
  • Save Fluxflashor/2946496 to your computer and use it in GitHub Desktop.
Save Fluxflashor/2946496 to your computer and use it in GitHub Desktop.
import sys
from struct import unpack
class Replay:
def __init__(self, filename):
self.file = open(filename, "rb")
self.versionbytes = 4
self.headerbytes = 4
def __IntFromBytes(self, bytes):
""" Converts some bytes to an 32bit signed int """
int = unpack("<L", bytes)[0]
return int
def Version(self):
self.file.seek(0,0)
self.raw_version = self.file.read(self.versionbytes)
self.version = self.__IntFromBytes(self.raw_version)
return self.version
def HeaderLength(self):
self.file.seek(self.versionbytes, 0)
self.raw_headerlength = self.file.read(self.headerbytes)
self.headerlength = self.__IntFromBytes(self.raw_headerlength)
return self.headerlength
def JSONHeader(self):
self.file.seek((self.versionbytes + self.headerbytes), 0)
self.jsonheader = self.file.read(self.HeaderLength())
return self.jsonheader
filename = sys.argv[1]
replay = Replay(filename)
print replay.Version()
print replay.HeaderLength()
print replay.JSONHeader()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment