Skip to main content

SWF metadata parser

Project description

The hexagonit.swfheader package provides a single function – parse – that is able to parse the metadata in a SWF (Flash animation) file. The main use case is to interrogate the dimensions of a SWF file to help in embedding the file in a HTML page.


Using the parser is very simple, simply call the hexagonit.swfheader.parse function and call it with either a filesystem path or a file-like object.

>>> import hexagonit.swfheader
>>> metadata = hexagonit.swfheader.parse(TEST_SWF)
>>> pprint(metadata)
{'compressed': False,
 'fps': 12,
 'frames': 1,
 'height': 400,
 'size': 153,
 'version': 5,
 'width': 550,
 'xmax': 550,
 'xmin': 0,
 'ymax': 400,
 'ymin': 0}

The parse function returns a dictionary that contains the following items:

version (int)

The version of the Flash format, e.g. 7.

compressed (bool)

True, if the contents of the file are compressed using zlib compression, False otherwise.

size (int)

Byte size of the (uncompressed) contents of the SWF file.

xmin (int)

The lesser x-coordinate of the bounding rectangle of the contents.

xmax (int)

The greater x-coordinate of the bounding rectangle of the contents.

ymin (int)

The lesser y-coordinate of the bounding rectangle of the contents.

ymax (int)

The greater y-coordinate of the bounding rectangle of the contents.

width (int)

The width of the SWF file in pixels.

height (int)

The height of the SWF file in pixels.

frames (int)

The number of frames in the SWF file.

fps (int)

Frames per second.

Command line

When installed with setuptools a script named swfheader is placed in your bin directory which can be used to easily introspect SWF files on the filesystem:

$ swfheader some_file.swf
SWF header
Version:      7
Compression:  False
Dimensions:   1105 x 1629
Bounding box: (0, 1105, 0, 1629)
Frames:       64
FPS:          1

Change history

1.2 (2012-07-18)

1.1 (2010-05-08)

  • Fixed a bug with parsing the “fps” and “frames” fields. The order of the fields were reversed and additionally the “fps” field was parsed incorrectly. Bug reported by Valeriy Zmiyevskoy. [dokai]

1.0.1 (2008-04-29)

  • Refacted a reversed() call to make the package Python 2.3 compatible.

1.0 (2008-04-16)

  • First public release [dokai]

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for hexagonit.swfheader, version 1.2
Filename, size File type Python version Upload date Hashes
Filename, size hexagonit.swfheader-1.2.tar.gz (5.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page