dem Module

Source code: dem.py

The dem module provides an Dem class which derives from ReadWriteFile and is used to read and write Quake demo data.

Dem Class

class vgio.quake.dem.Dem

Class for working with Dem files

Example

Basic usage:

from vgio.quake.dem import Dem
d = Dem.open(file)
cd_track

The number of the cd track to play. The track will be ‘-1’ if no music.

message_blocks

A sequence of MessageBlock objects

Dem.__init__()

Constructs a Dem object

classmethod Dem.open(file, mode='r')

Open a ReadWriteFile object where file can be a path to a file (a string), or a file-like object.

The mode parameter should be ‘r’ to read an existing file, ‘w’ to truncate and write a new file, or ‘a’ to append to an existing file.

open() is also a context manager and supports the with statement:

with ReadWriteFile.open('file.ext') as file:
    file.save('file2.ext')
Parameters
  • file – Either the path to the file, a file-like object, or bytes.

  • mode – An optional string that indicates which mode to open the file

Returns

An ReadWriteFile object constructed from the information read from the file-like object.

Raises
  • ValueError – If an invalid file mode is given.

  • TypeError – If attempting to write to a bytes object.

  • OSError – If the file argument is not a file-like object.

Dem.close()

Closes the file pointer if possible. If mode is ‘w’ or ‘a’, the file will be written to.

Dem.save(file)

Writes data to file.

Parameters

file – Either the path to the file, or a file-like object.

Raises

OSError – If file argument is not a file-like object.