Package pyffi :: Package formats :: Package bsa
[hide private]
[frames] | no frames]

Package bsa

source code

This module is still a work in progress, and is not yet ready for production use.

A .bsa file is an archive format used by Bethesda (Morrowind, Oblivion, Fallout 3).

Implementation

Regression tests

Read a BSA file

>>> # check and read bsa file
>>> stream = open('tests/bsa/test.bsa', 'rb')
>>> data = BsaFormat.Data()
>>> data.inspect_quick(stream)
>>> data.version
103
>>> data.inspect(stream)
>>> data.folders_offset
36
>>> hex(data.archive_flags.to_int(data))
'0x703'
>>> data.num_folders
1
>>> data.num_files
7
>>> #data.read(stream)
>>> # TODO check something else...

Parse all BSA files in a directory tree

>>> for stream, data in BsaFormat.walkData('tests/bsa'):
...     print(stream.name)
tests/bsa/test.bsa

Create an BSA file from scratch and write to file

>>> data = BsaFormat.Data()
>>> # TODO store something...
>>> from tempfile import TemporaryFile
>>> stream = TemporaryFile()
>>> #data.write(stream)
Classes [hide private]
  BsaFormat
This class implements the BSA format.
Variables [hide private]
  __package__ = 'pyffi.formats.bsa'